export default {
  nested: {
    beeground: {
      nested: {
        STBeegroundPingReq: {
          fields: {
            name: {
              type: 'string',
              id: 1
            }
          }
        },
        STBeegroundPingRsp: {
          fields: {
            traceId: {
              type: 'string',
              id: 1
            },
            message: {
              type: 'string',
              id: 2
            }
          }
        },
        STDoCommandReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            clientVer: {
              type: 'ClientVersion',
              id: 2
            },
            clientAddr: {
              type: 'ClientAddress',
              id: 3
            },
            msgId: {
              type: 'uint32',
              id: 4
            },
            msgBody: {
              type: 'bytes',
              id: 5
            }
          }
        },
        STDoCommandRsp: {
          fields: {
            code: {
              type: 'uint32',
              id: 1
            },
            errMsg: {
              type: 'string',
              id: 2
            },
            traceId: {
              type: 'string',
              id: 3
            },
            msgId: {
              type: 'uint32',
              id: 4
            },
            msgBody: {
              type: 'bytes',
              id: 5
            }
          }
        },
        STDoNotifyReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            msgId: {
              type: 'uint32',
              id: 2
            },
            msgBody: {
              type: 'bytes',
              id: 3
            }
          }
        },
        STDoNotifyRsp: {
          fields: {}
        },
        STOnUserNoopReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        STOnUserNoopRsp: {
          fields: {}
        },
        STOnUserConnectionOnReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        STOnUserConnectionOnRsp: {
          fields: {}
        },
        STOnUserConnectionOffReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        STOnUserConnectionOffRsp: {
          fields: {}
        },
        STOnUserLogoutReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        STOnUserLogoutRsp: {
          fields: {}
        },
        STOnUserLoginReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        STOnUserLoginRsp: {
          fields: {}
        },
        ClientVersion: {
          fields: {
            High: {
              type: 'uint32',
              id: 1
            },
            Mid: {
              type: 'uint32',
              id: 2
            },
            Low: {
              type: 'uint32',
              id: 3
            }
          }
        },
        ClientAddress: {
          fields: {
            IP: {
              type: 'string',
              id: 1
            },
            port: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetAppConfigReq: {
          fields: {
            osType: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGetAppConfigRsp: {
          fields: {
            launchImageUrl: {
              type: 'string',
              id: 1
            },
            apkUrl: {
              type: 'string',
              id: 2
            },
            minVer: {
              type: 'string',
              id: 3
            },
            openGuestEntry: {
              type: 'bool',
              id: 4
            },
            serviceWechatNo: {
              type: 'string',
              id: 5
            },
            invalidVers: {
              rule: 'repeated',
              type: 'string',
              id: 6
            },
            problemWebviewName: {
              type: 'string',
              id: 7
            }
          }
        },
        CMsgSetAppConfigReq: {
          fields: {
            osType: {
              type: 'string',
              id: 1
            },
            launchImageUrl: {
              type: 'string',
              id: 2
            },
            apkUrl: {
              type: 'string',
              id: 3
            },
            minVer: {
              type: 'string',
              id: 4
            },
            openGuestEntry: {
              type: 'bool',
              id: 5
            },
            serviceWechatNo: {
              type: 'string',
              id: 6
            },
            invalidVers: {
              rule: 'repeated',
              type: 'string',
              id: 7
            },
            problemWebviewName: {
              type: 'string',
              id: 8
            }
          }
        },
        CMsgSetAppConfigRsp: {
          fields: {}
        },
        CMsgLoginWithVerifyCodeReq: {
          fields: {
            mobilePhone: {
              type: 'string',
              id: 1
            },
            verifyCode: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgLoginWithVerifyCodeRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            },
            userRole: {
              type: 'uint32',
              id: 3
            },
            nickName: {
              type: 'string',
              id: 4
            },
            headUrl: {
              type: 'string',
              id: 5
            }
          }
        },
        CMsgGetVerifyCodeReq: {
          fields: {
            mobilePhone: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGetVerifyCodeRsp: {
          fields: {
            verifyCode: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgRefreshTokenReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgRefreshTokenRsp: {
          fields: {
            token: {
              type: 'string',
              id: 1
            },
            role: {
              type: 'uint32',
              id: 2
            },
            mobilePhone: {
              type: 'string',
              id: 3
            },
            userName: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgLogoutReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgLogoutRsp: {
          fields: {}
        },
        CMsgLoginWithPasswdReq: {
          fields: {
            mobilePhone: {
              type: 'string',
              id: 1
            },
            passwd: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgLoginWithPasswdRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            },
            userRole: {
              type: 'uint32',
              id: 3
            },
            nickName: {
              type: 'string',
              id: 4
            },
            headUrl: {
              type: 'string',
              id: 5
            }
          }
        },
        CMsgSetPasswdReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            passwd: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgSetPasswdRsp: {
          fields: {}
        },
        CMsgSendEmailVerifyCodeReq: {
          fields: {
            email: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgSendEmailVerifyCodeRsp: {
          fields: {
            verifyCode: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgLoginWithEmailReq: {
          fields: {
            email: {
              type: 'string',
              id: 1
            },
            verifyCode: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgLoginWithEmailRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgWxMiniProgramLoginReq: {
          fields: {
            code: {
              type: 'string',
              id: 1
            },
            encryptedData: {
              type: 'string',
              id: 2
            },
            rawData: {
              type: 'string',
              id: 3
            },
            signature: {
              type: 'string',
              id: 4
            },
            iv: {
              type: 'string',
              id: 5
            }
          }
        },
        CMsgWxMiniProgramLoginRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgWxMiniProgramLoginV2Req: {
          fields: {
            code: {
              type: 'string',
              id: 1
            },
            encryptedData: {
              type: 'string',
              id: 2
            },
            rawData: {
              type: 'string',
              id: 3
            },
            signature: {
              type: 'string',
              id: 4
            },
            iv: {
              type: 'string',
              id: 5
            },
            nickName: {
              type: 'string',
              id: 6
            },
            headUrl: {
              type: 'string',
              id: 7
            }
          }
        },
        CMsgWxMiniProgramLoginV2Rsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgWxH5LoginReq: {
          fields: {
            code: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgWxH5LoginRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            },
            mobilePhone: {
              type: 'string',
              id: 3
            },
            userName: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgMobileLoginReq: {
          fields: {
            mobilePhone: {
              type: 'string',
              id: 1
            },
            verifyCode: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgMobileLoginRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            },
            mobilePhone: {
              type: 'string',
              id: 3
            },
            userName: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgMPLoginWithVerifyCodeReq: {
          fields: {
            mobilePhone: {
              type: 'string',
              id: 1
            },
            verifyCode: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgMPLoginWithVerifyCodeRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            },
            userRole: {
              type: 'uint32',
              id: 3
            },
            nickName: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgMPLoginWithPasswdReq: {
          fields: {
            mobilePhone: {
              type: 'string',
              id: 1
            },
            passwd: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgMPLoginWithPasswdRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            },
            userRole: {
              type: 'uint32',
              id: 3
            },
            nickName: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgReportArrivedPushMsgReq: {
          fields: {
            msgId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgReportArrivedPushMsgRsp: {
          fields: {}
        },
        CMsgCreateRoomReq: {
          fields: {}
        },
        CMsgCreateRoomRsp: {
          fields: {}
        },
        CMsgJoinRoomReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgJoinRoomRsp: {
          fields: {
            rtcChannelId: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgLeaveRoomReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgLeaveRoomRsp: {
          fields: {}
        },
        CMsgSyncMouseLocationReq: {
          fields: {}
        },
        CMsgSyncMouseLocationRsp: {
          fields: {}
        },
        CMsgModifyNickNameReq: {
          fields: {
            nickName: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgModifyNickNameRsp: {
          fields: {}
        },
        CMsgUploadHeadPortraitReq: {
          fields: {
            imageBase64: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgUploadHeadPortraitRsp: {
          fields: {
            headPortraitURL: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgModifyProfileReq: {
          fields: {
            nickName: {
              type: 'string',
              id: 1
            },
            gender: {
              type: 'uint32',
              id: 2
            },
            headPortraitURL: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgModifyProfileRsp: {
          fields: {}
        },
        CMsgGetSelfCenterReq: {
          fields: {}
        },
        CMsgGetSelfCenterRsp: {
          fields: {
            nickName: {
              type: 'string',
              id: 1
            },
            headPortraitURL: {
              type: 'string',
              id: 2
            },
            mobilePhone: {
              type: 'string',
              id: 3
            },
            gender: {
              type: 'uint32',
              id: 4
            },
            goldCoinNum: {
              type: 'uint32',
              id: 5
            },
            yutouCoinNum: {
              type: 'uint32',
              id: 6
            }
          }
        },
        CMsgGetRoundListReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetRoundListRsp: {
          fields: {
            rounds: {
              rule: 'repeated',
              type: 'CMsgRoundInfo',
              id: 1
            },
            totalDuration: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgRoundInfo: {
          fields: {
            serialId: {
              type: 'uint32',
              id: 1
            },
            roundId: {
              type: 'uint32',
              id: 2
            },
            roundName: {
              type: 'string',
              id: 3
            },
            status: {
              type: 'uint32',
              id: 4
            },
            duration: {
              type: 'uint32',
              id: 5
            },
            roundType: {
              type: 'uint32',
              id: 6
            },
            roundInfoMain: {
              type: 'RoundInfoMain',
              id: 7
            },
            roundInfoProblem: {
              type: 'RoundInfoProblem',
              id: 8
            },
            roundInfoVideo: {
              type: 'RoundInfoVideo',
              id: 9
            },
            discussStartTime: {
              type: 'uint32',
              id: 10
            },
            roundInfoRollCall: {
              type: 'RoundInfoRollCall',
              id: 11
            }
          }
        },
        RoundInfoRollCall: {
          fields: {
            rollCallVideo: {
              type: 'VideoInfo',
              id: 1
            },
            rightVideo: {
              type: 'VideoInfo',
              id: 2
            },
            wrongVideo: {
              type: 'VideoInfo',
              id: 3
            },
            instantAnswers: {
              rule: 'repeated',
              type: 'InstantAnswer',
              id: 4
            },
            rollCallVideoDuration: {
              type: 'uint32',
              id: 5
            }
          }
        },
        RoundInfoMain: {
          fields: {
            video: {
              type: 'VideoInfo',
              id: 1
            }
          }
        },
        RoundInfoProblem: {
          fields: {
            explainType: {
              type: 'uint32',
              id: 1
            },
            readProblemVideo: {
              type: 'VideoInfo',
              id: 2
            },
            commonExplainVideo: {
              type: 'VideoInfo',
              id: 3
            },
            rightExplainVideo: {
              type: 'VideoInfo',
              id: 4
            },
            wrongExplainVideo: {
              type: 'VideoInfo',
              id: 5
            },
            discussDuration: {
              type: 'uint32',
              id: 6
            },
            startTime: {
              type: 'uint32',
              id: 7
            },
            readProblemDuration: {
              type: 'uint32',
              id: 8
            },
            answerDuration: {
              type: 'uint32',
              id: 9
            },
            problemId: {
              type: 'uint32',
              id: 10
            },
            rightNextRoundId: {
              type: 'uint32',
              id: 11
            },
            wrongNextRoundId: {
              type: 'uint32',
              id: 12
            },
            instantAnswers: {
              rule: 'repeated',
              type: 'InstantAnswer',
              id: 13
            },
            problem: {
              type: 'ProblemDetail',
              id: 14
            }
          }
        },
        RoundInfoVideo: {
          fields: {
            video: {
              type: 'VideoInfo',
              id: 1
            },
            instantAnswers: {
              rule: 'repeated',
              type: 'InstantAnswer',
              id: 2
            },
            isRest: {
              type: 'bool',
              id: 3
            }
          }
        },
        InstantAnswer: {
          fields: {
            instantAnswerId: {
              type: 'int64',
              id: 1
            },
            startTime: {
              type: 'uint32',
              id: 2
            },
            duration: {
              type: 'uint32',
              id: 3
            },
            isDefault: {
              type: 'bool',
              id: 4
            },
            options: {
              rule: 'repeated',
              type: 'string',
              id: 5
            },
            title: {
              type: 'RichText',
              id: 6
            }
          }
        },
        VideoInfo: {
          fields: {
            videoId: {
              type: 'uint32',
              id: 1
            },
            videoResourceType: {
              type: 'uint32',
              id: 2
            },
            videoName: {
              type: 'string',
              id: 3
            },
            originVideoPlayURL: {
              type: 'string',
              id: 4
            },
            originVideoDownloadURL: {
              type: 'string',
              id: 5
            },
            teacherVideoPlayURL: {
              type: 'string',
              id: 6
            },
            teacherVideoDownloadURL: {
              type: 'string',
              id: 7
            },
            contentVideoPlayURL: {
              type: 'string',
              id: 8
            },
            contentVideoDownloadURL: {
              type: 'string',
              id: 9
            }
          }
        },
        CMsgAddInteractRoundReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            explainType: {
              type: 'uint32',
              id: 2
            },
            withDiscuss: {
              type: 'bool',
              id: 3
            },
            startTime: {
              type: 'uint32',
              id: 4
            },
            discussDuration: {
              type: 'uint32',
              id: 5
            },
            readProblemDuration: {
              type: 'uint32',
              id: 6
            },
            answerDuration: {
              type: 'uint32',
              id: 7
            },
            roundName: {
              type: 'string',
              id: 8
            }
          }
        },
        ProblemInfo: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            },
            problemType: {
              type: 'uint32',
              id: 2
            },
            title: {
              type: 'RichText',
              id: 3
            },
            options: {
              rule: 'repeated',
              type: 'ProblemOption',
              id: 4
            },
            answer: {
              type: 'string',
              id: 5
            }
          }
        },
        RichText: {
          fields: {
            textType: {
              type: 'uint32',
              id: 1
            },
            textStr: {
              type: 'string',
              id: 2
            }
          }
        },
        ProblemOption: {
          fields: {
            optId: {
              type: 'string',
              id: 1
            },
            optText: {
              rule: 'repeated',
              type: 'RichText',
              id: 2
            }
          }
        },
        CMsgAddInteractRoundRsp: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgAddRollCallRoundReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            roundName: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgAddRollCallRoundRsp: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetRollCallRoundReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetRollCallRoundRsp: {
          fields: {
            roundName: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgSaveRollCallRoundReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            roundName: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgSaveRollCallRoundRsp: {
          fields: {}
        },
        CMsgAddDiscussRoundReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            discussDuration: {
              type: 'uint32',
              id: 2
            },
            startTime: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgAddDiscussRoundRsp: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgSaveInteractRoundReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            explainType: {
              type: 'uint32',
              id: 2
            },
            withDiscuss: {
              type: 'bool',
              id: 3
            },
            startTime: {
              type: 'uint32',
              id: 4
            },
            discussDuration: {
              type: 'uint32',
              id: 5
            },
            readProblemDuration: {
              type: 'uint32',
              id: 6
            },
            answerDuration: {
              type: 'uint32',
              id: 7
            },
            roundName: {
              type: 'string',
              id: 8
            }
          }
        },
        CMsgSaveInteractRoundRsp: {
          fields: {}
        },
        CMsgSaveDiscussRoundReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            discussDuration: {
              type: 'uint32',
              id: 2
            },
            startTime: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgSaveDiscussRoundRsp: {
          fields: {}
        },
        CMsgGetInteractRoundReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetInteractRoundRsp: {
          fields: {
            roundName: {
              type: 'string',
              id: 1
            },
            readProblemVideoId: {
              type: 'uint32',
              id: 2
            },
            hasDiscussStage: {
              type: 'bool',
              id: 3
            },
            discussDuration: {
              type: 'uint32',
              id: 4
            },
            explainType: {
              type: 'uint32',
              id: 5
            },
            startTime: {
              type: 'uint32',
              id: 6
            },
            readProblemDuration: {
              type: 'uint32',
              id: 7
            },
            answerDuration: {
              type: 'uint32',
              id: 8
            }
          }
        },
        CMsgGetDiscussRoundReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetDiscussRoundRsp: {
          fields: {
            discussDuration: {
              type: 'uint32',
              id: 1
            },
            startTime: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgUploadedVideoReq: {
          fields: {
            videoId: {
              type: 'uint32',
              id: 1
            },
            roundId: {
              type: 'uint32',
              id: 2
            },
            videoType: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgUploadedVideoRsp: {
          fields: {
            videoId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteRoundReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            roundId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgDeleteRoundRsp: {
          fields: {}
        },
        CMsgSaveMainVideoReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            videoId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgSaveMainVideoRsp: {
          fields: {}
        },
        CMsgSaveInteractVideoReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            videoType: {
              type: 'uint32',
              id: 2
            },
            videoId: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgSaveInteractVideoRsp: {
          fields: {}
        },
        CMsgGetRoundVideoInfoReq: {
          fields: {
            videoId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetRoundVideoInfoRsp: {
          fields: {
            videoUrl: {
              type: 'string',
              id: 1
            },
            videoDuration: {
              type: 'uint32',
              id: 2
            },
            videoSize: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgPreGetVideoUploadInfoReq: {
          fields: {
            videoName: {
              type: 'string',
              id: 1
            },
            videoSize: {
              type: 'uint32',
              id: 2
            },
            videoDuration: {
              type: 'uint32',
              id: 3
            },
            videoResourceType: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgPreGetVideoUploadInfoRsp: {
          fields: {
            videoId: {
              type: 'uint32',
              id: 1
            },
            videoOSSPath: {
              type: 'string',
              id: 2
            },
            ossSTS: {
              type: 'OssSTS',
              id: 3
            }
          }
        },
        CMsgIAPBuyYutouCoinReq: {
          fields: {
            iapCommodityId: {
              type: 'string',
              id: 1
            },
            payMethod: {
              type: 'uint32',
              id: 2
            },
            userPayAmount: {
              type: 'uint32',
              id: 3
            },
            md5: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgIAPBuyYutouCoinRsp: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            },
            userPayAmount: {
              type: 'uint32',
              id: 2
            },
            md5: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgGetIAPBuyYutouCoinPayResultReq: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            },
            iapTransactionId: {
              type: 'string',
              id: 2
            },
            iapReceipt: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgGetIAPBuyYutouCoinPayResultRsp: {
          fields: {
            orderStatus: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGuestLoginReq: {
          fields: {
            deviceId: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGuestLoginRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            token: {
              type: 'string',
              id: 2
            },
            userRole: {
              type: 'uint32',
              id: 3
            },
            nickName: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgGuestBindMobilePhoneReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            mobilePhone: {
              type: 'string',
              id: 2
            },
            verifyCode: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgGuestBindMobilePhoneRsp: {
          fields: {}
        },
        CMsgBuyCommodityReq: {
          fields: {
            buyCommodities: {
              rule: 'repeated',
              type: 'CommodityBuyInfo',
              id: 1
            },
            payAmount: {
              type: 'uint32',
              id: 2
            },
            payMethod: {
              type: 'uint32',
              id: 3
            },
            receiverAddress: {
              type: 'ReceiverAddress',
              id: 4
            }
          }
        },
        CMsgBuyCommodityRsp: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            },
            payMethod: {
              type: 'uint32',
              id: 2
            },
            wxOrder: {
              type: 'WXOrder',
              id: 3
            },
            aliOrder: {
              type: 'AliOrder',
              id: 4
            }
          }
        },
        CommodityBuyInfo: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            },
            commodityPriceForSale: {
              type: 'uint32',
              id: 2
            }
          }
        },
        ReceiverAddress: {
          fields: {
            province: {
              type: 'string',
              id: 1
            },
            city: {
              type: 'string',
              id: 2
            },
            district: {
              type: 'string',
              id: 3
            },
            detail: {
              type: 'string',
              id: 4
            },
            receiverName: {
              type: 'string',
              id: 5
            },
            receiverMobilePhone: {
              type: 'string',
              id: 6
            }
          }
        },
        WXOrder: {
          fields: {
            prepayId: {
              type: 'string',
              id: 1
            },
            nonceStr: {
              type: 'string',
              id: 2
            },
            timeStamp: {
              type: 'string',
              id: 3
            },
            package: {
              type: 'string',
              id: 4
            },
            sign: {
              type: 'string',
              id: 5
            }
          }
        },
        AliOrder: {
          fields: {
            orderInfo: {
              type: 'string',
              id: 1
            }
          }
        },
        WXJSAPIOrder: {
          fields: {
            NonceStr: {
              type: 'string',
              id: 1
            },
            TimeStamp: {
              type: 'string',
              id: 2
            },
            Package: {
              type: 'string',
              id: 3
            },
            SignType: {
              type: 'string',
              id: 4
            },
            PaySign: {
              type: 'string',
              id: 5
            }
          }
        },
        CMsgCheckBuyCommodityResultReq: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgCheckBuyCommodityResultRsp: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            },
            orderStatus: {
              type: 'uint32',
              id: 2
            },
            payAmount: {
              type: 'uint32',
              id: 3
            },
            payTimestamp: {
              type: 'string',
              id: 4
            },
            buyCommodityNames: {
              rule: 'repeated',
              type: 'string',
              id: 5
            }
          }
        },
        CMsgGetUserCoursePageReq: {
          fields: {}
        },
        CMsgGetUserCoursePageRsp: {
          fields: {
            userCourses: {
              rule: 'repeated',
              type: 'UserCourseInfo',
              id: 1
            }
          }
        },
        UserCourseInfo: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            },
            courseName: {
              type: 'string',
              id: 2
            },
            courseStartTime: {
              type: 'string',
              id: 3
            },
            lessonNum: {
              type: 'uint32',
              id: 4
            },
            status: {
              type: 'uint32',
              id: 5
            }
          }
        },
        EnumUserCourseStatus: {
          values: {
            EUCSNone: 0,
            EUCSNotGrouped: 1,
            EUCSGrouped: 2
          }
        },
        OssSTS: {
          fields: {
            accessKeyId: {
              type: 'string',
              id: 1
            },
            accessKeySecret: {
              type: 'string',
              id: 2
            },
            stsToken: {
              type: 'string',
              id: 3
            },
            endPoint: {
              type: 'string',
              id: 4
            },
            bucket: {
              type: 'string',
              id: 5
            }
          }
        },
        CMsgGetLessonsReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetLessonsRsp: {
          fields: {
            nextId: {
              type: 'int64',
              id: 1
            },
            status: {
              type: 'uint32',
              id: 2
            },
            nextTime: {
              type: 'string',
              id: 3
            },
            leftSeconds: {
              type: 'uint32',
              id: 4
            },
            lessons: {
              rule: 'repeated',
              type: 'LessonInfo',
              id: 5
            },
            courseName: {
              type: 'string',
              id: 6
            },
            grade: {
              type: 'string',
              id: 7
            },
            subject: {
              type: 'string',
              id: 8
            }
          }
        },
        LessonInfo: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            status: {
              type: 'uint32',
              id: 3
            },
            lessonResourceId: {
              type: 'uint32',
              id: 4
            },
            lessonStartTime: {
              type: 'string',
              id: 5
            },
            assistant: {
              type: 'UserShowInfo',
              id: 6
            }
          }
        },
        CMsgGetRoomInfoReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgGetRoomInfoRsp: {
          fields: {
            channel: {
              type: 'string',
              id: 1
            },
            users: {
              rule: 'repeated',
              type: 'UserStatus',
              id: 2
            },
            lessonStatus: {
              type: 'uint32',
              id: 3
            },
            currentRoundInfo: {
              type: 'CurrentRoundInfo',
              id: 4
            },
            lessonName: {
              type: 'string',
              id: 5
            },
            lessonStartTime: {
              type: 'string',
              id: 6
            },
            intervalBeforeLessonStart: {
              type: 'uint32',
              id: 7
            },
            isAssistTalk: {
              type: 'bool',
              id: 8
            },
            leftTalkDuration: {
              type: 'uint32',
              id: 9
            },
            startImageURL: {
              type: 'string',
              id: 10
            },
            startVideoURL: {
              type: 'string',
              id: 11
            },
            maxTalkDuration: {
              type: 'uint32',
              id: 12
            },
            bigClassChannel: {
              type: 'string',
              id: 13
            },
            isSign: {
              type: 'bool',
              id: 14
            }
          }
        },
        UserStatus: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            userRole: {
              type: 'uint32',
              id: 2
            },
            goldCoinNum: {
              type: 'uint32',
              id: 3
            },
            userNickName: {
              type: 'string',
              id: 4
            },
            headUrl: {
              type: 'string',
              id: 5
            }
          }
        },
        CurrentRoundInfo: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            roundType: {
              type: 'uint32',
              id: 2
            },
            roundProgress: {
              type: 'uint32',
              id: 3
            },
            readProblemProgress: {
              type: 'uint32',
              id: 4
            },
            discussProgress: {
              type: 'uint32',
              id: 5
            },
            doProblemProgress: {
              type: 'uint32',
              id: 6
            },
            explainVideoProgress: {
              type: 'uint32',
              id: 7
            },
            roundStatus: {
              type: 'uint32',
              id: 8
            },
            submitProblemUsers: {
              rule: 'repeated',
              type: 'int64',
              id: 9
            },
            problemAnswer: {
              type: 'ProblemAnswer',
              id: 10
            },
            problemResult: {
              type: 'ProblemResult',
              id: 11
            },
            answerState: {
              type: 'uint32',
              id: 12
            }
          }
        },
        ProblemRecordV2: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            },
            withSmall: {
              type: 'bool',
              id: 2
            },
            answer: {
              rule: 'repeated',
              type: 'string',
              id: 3
            },
            isCorrect: {
              type: 'bool',
              id: 4
            },
            smallRecords: {
              rule: 'repeated',
              type: 'SmallProblemRecord',
              id: 5
            }
          }
        },
        SmallProblemRecord: {
          fields: {
            smallProblemId: {
              type: 'int64',
              id: 1
            },
            answer: {
              rule: 'repeated',
              type: 'string',
              id: 2
            },
            isCorrect: {
              type: 'bool',
              id: 3
            }
          }
        },
        CMsgSubmitAnswerReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            problemAnswer: {
              type: 'ProblemAnswer',
              id: 3
            },
            roundId: {
              type: 'uint32',
              id: 4
            },
            useTime: {
              type: 'uint32',
              id: 5
            },
            isAbort: {
              type: 'bool',
              id: 6
            }
          }
        },
        CMsgSubmitAnswerRsp: {
          fields: {
            problemResult: {
              type: 'ProblemResult',
              id: 1
            },
            goldCoinNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgSubmitReplayAnswerReq: {
          fields: {
            problemAnswer: {
              type: 'ProblemAnswer',
              id: 1
            }
          }
        },
        CMsgSubmitReplayAnswerRsp: {
          fields: {
            problemResult: {
              type: 'ProblemResult',
              id: 1
            },
            addGoldCoin: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetProblemReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            problemId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetProblemRsp: {
          fields: {
            problem: {
              type: 'ProblemInfo',
              id: 1
            }
          }
        },
        CMsgGetReplayProblemReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            problemId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetReplayProblemRsp: {
          fields: {
            problem: {
              type: 'ProblemInfo',
              id: 1
            }
          }
        },
        CMsgLessonFinishReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgLessonFinishRsp: {
          fields: {}
        },
        CMsgGetUserInfoReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            problemId: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgGetUserInfoRsp: {
          fields: {
            userRole: {
              type: 'uint32',
              id: 1
            },
            goldCoinNum: {
              type: 'uint32',
              id: 2
            },
            userNickName: {
              type: 'string',
              id: 3
            },
            isSubmit: {
              type: 'bool',
              id: 4
            }
          }
        },
        CMsgGetAgoraTokenReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            channelName: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgGetAgoraTokenRsp: {
          fields: {
            token: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgDiscussFinishReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            roundId: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgDiscussFinishRsp: {
          fields: {}
        },
        CMsgDiscussStartReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            roundId: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgDiscussStartRsp: {
          fields: {}
        },
        CMsgSaveNextRoundIDReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            rightNextRoundId: {
              type: 'uint32',
              id: 2
            },
            wrongNextRoundId: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgSaveNextRoundIDRsp: {
          fields: {}
        },
        CMsgGetLessonResourceListReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetLessonResourceListRsp: {
          fields: {
            resources: {
              rule: 'repeated',
              type: 'LessonResourceInfo',
              id: 1
            }
          }
        },
        LessonResourceInfo: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            serialId: {
              type: 'uint32',
              id: 2
            },
            name: {
              type: 'string',
              id: 3
            },
            teacher: {
              type: 'string',
              id: 4
            },
            status: {
              type: 'uint32',
              id: 5
            },
            beingOnLesson: {
              type: 'bool',
              id: 6
            }
          }
        },
        CMsgOnlineLessonResourceReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOnlineLessonResourceRsp: {
          fields: {}
        },
        CMsgOfflineLessonResourceReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOfflineLessonResourceRsp: {
          fields: {}
        },
        CMsgAddLessonResourceReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            },
            lessonResourceName: {
              type: 'string',
              id: 2
            },
            teacherId: {
              type: 'int64',
              id: 3
            }
          }
        },
        CMsgAddLessonResourceRsp: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteLessonResourceReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteLessonResourceRsp: {
          fields: {}
        },
        CMsgGetAllClassListReq: {
          fields: {
            assistId: {
              type: 'int64',
              id: 1
            },
            schoolId: {
              type: 'uint32',
              id: 2
            },
            courseName: {
              type: 'string',
              id: 3
            },
            pageNum: {
              type: 'uint32',
              id: 4
            },
            perPageNum: {
              type: 'uint32',
              id: 5
            },
            onlyMine: {
              type: 'bool',
              id: 6
            },
            className: {
              type: 'string',
              id: 7
            },
            nextLessonTime: {
              type: 'string',
              id: 8
            },
            classId: {
              type: 'int64',
              id: 9
            },
            status: {
              type: 'uint32',
              id: 10
            }
          }
        },
        CMsgGetAllClassListRsp: {
          fields: {
            classes: {
              rule: 'repeated',
              type: 'ClassInfo',
              id: 1
            },
            totalNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        ClassInfo: {
          fields: {
            classId: {
              type: 'int64',
              id: 1
            },
            className: {
              type: 'string',
              id: 2
            },
            studentNum: {
              type: 'uint32',
              id: 3
            },
            assistantName: {
              type: 'string',
              id: 4
            },
            courseName: {
              type: 'string',
              id: 5
            },
            schoolName: {
              type: 'string',
              id: 6
            },
            type: {
              type: 'uint32',
              id: 7
            },
            finishLessonNum: {
              type: 'uint32',
              id: 8
            },
            totalLessonNum: {
              type: 'uint32',
              id: 9
            },
            nextLessonTime: {
              type: 'string',
              id: 10
            },
            status: {
              type: 'uint32',
              id: 11
            }
          }
        },
        CMsgAddClassReq: {
          fields: {
            className: {
              type: 'string',
              id: 1
            },
            type: {
              type: 'uint32',
              id: 2
            },
            assistantId: {
              type: 'int64',
              id: 3
            },
            courseId: {
              type: 'uint32',
              id: 4
            },
            tagIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 5
            },
            schoolId: {
              type: 'uint32',
              id: 6
            }
          }
        },
        CMsgAddClassRsp: {
          fields: {
            classId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgDeleteClassReq: {
          fields: {
            classId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgDeleteClassRsp: {
          fields: {}
        },
        CMsgGetClassInfoReq: {
          fields: {
            classId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetClassInfoRsp: {
          fields: {
            className: {
              type: 'string',
              id: 1
            },
            nextLessonTime: {
              type: 'string',
              id: 2
            },
            nextLessonId: {
              type: 'int64',
              id: 3
            },
            nextLessonResourceId: {
              type: 'uint32',
              id: 4
            },
            nextLessonResourceName: {
              type: 'string',
              id: 5
            },
            courseId: {
              type: 'uint32',
              id: 6
            },
            courseName: {
              type: 'string',
              id: 7
            },
            students: {
              rule: 'repeated',
              type: 'IDNameInt64',
              id: 8
            },
            lessons: {
              rule: 'repeated',
              type: 'ClassLessonInfo',
              id: 9
            },
            createTime: {
              type: 'string',
              id: 10
            },
            assistantId: {
              type: 'int64',
              id: 11
            },
            assistantName: {
              type: 'string',
              id: 12
            },
            schoolId: {
              type: 'uint32',
              id: 13
            },
            schoolName: {
              type: 'string',
              id: 14
            },
            type: {
              type: 'uint32',
              id: 15
            },
            timetableModelId: {
              type: 'int64',
              id: 16
            }
          }
        },
        IDNameInt64: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            }
          }
        },
        IDNameUint32: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            }
          }
        },
        ClassLessonInfo: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            lessonName: {
              type: 'string',
              id: 2
            },
            lessonStartTime: {
              type: 'string',
              id: 3
            },
            lessonStatus: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgSaveClassInfoReq: {
          fields: {
            classId: {
              type: 'int64',
              id: 1
            },
            nextLessonId: {
              type: 'int64',
              id: 2
            },
            nextLessonTime: {
              type: 'string',
              id: 3
            },
            nextLessonResourceId: {
              type: 'uint32',
              id: 4
            },
            assistantId: {
              type: 'int64',
              id: 5
            },
            schoolId: {
              type: 'uint32',
              id: 6
            },
            timetableModelId: {
              type: 'int64',
              id: 7
            },
            name: {
              type: 'string',
              id: 8
            }
          }
        },
        CMsgSaveClassInfoRsp: {
          fields: {}
        },
        CMsgGetStudentListReq: {
          fields: {
            mobilePhone: {
              type: 'string',
              id: 1
            },
            nickname: {
              type: 'string',
              id: 2
            },
            pageNum: {
              type: 'uint32',
              id: 3
            },
            perPageNum: {
              type: 'uint32',
              id: 4
            },
            onlyMine: {
              type: 'bool',
              id: 5
            },
            userId: {
              type: 'int64',
              id: 6
            }
          }
        },
        CMsgGetStudentListRsp: {
          fields: {
            users: {
              rule: 'repeated',
              type: 'UserInfo',
              id: 1
            },
            totalNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        UserInfo: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            nickName: {
              type: 'string',
              id: 2
            },
            mobilePhone: {
              type: 'string',
              id: 3
            },
            registerTime: {
              type: 'string',
              id: 4
            },
            classNum: {
              type: 'uint32',
              id: 5
            },
            role: {
              type: 'uint32',
              id: 6
            }
          }
        },
        CMsgGetStudentInfoReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetStudentInfoRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            nickName: {
              type: 'string',
              id: 2
            },
            mobilePhone: {
              type: 'string',
              id: 3
            },
            classes: {
              rule: 'repeated',
              type: 'IDNameInt64',
              id: 4
            },
            headUrl: {
              type: 'string',
              id: 5
            },
            courses: {
              rule: 'repeated',
              type: 'UserCourse',
              id: 6
            },
            orders: {
              rule: 'repeated',
              type: 'OrderInfo',
              id: 7
            }
          }
        },
        UserCourse: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            },
            courseName: {
              type: 'string',
              id: 2
            },
            courseOpenTime: {
              type: 'string',
              id: 3
            },
            comment: {
              type: 'string',
              id: 4
            }
          }
        },
        OrderInfo: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            orderNo: {
              type: 'string',
              id: 2
            },
            products: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 3
            },
            price: {
              type: 'uint32',
              id: 4
            },
            status: {
              type: 'uint32',
              id: 5
            },
            comment: {
              type: 'string',
              id: 6
            },
            orderType: {
              type: 'uint32',
              id: 7
            },
            orderTime: {
              type: 'string',
              id: 8
            },
            yutouCoinNum: {
              type: 'uint32',
              id: 9
            }
          }
        },
        CMsgSaveUserInfoReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            classIds: {
              rule: 'repeated',
              type: 'int64',
              id: 2
            },
            schoolID: {
              type: 'uint32',
              id: 3
            },
            gradeID: {
              type: 'uint32',
              id: 4
            },
            schoolClassID: {
              type: 'uint32',
              id: 5
            },
            lookLessonDevice: {
              type: 'string',
              id: 6
            },
            contacts: {
              rule: 'repeated',
              type: 'Contact',
              id: 7
            },
            realName: {
              type: 'string',
              id: 8
            },
            nickName: {
              type: 'string',
              id: 9
            },
            lessonTime: {
              type: 'uint32',
              id: 10
            },
            receiverAddress: {
              type: 'ReceiverAddress',
              id: 11
            }
          }
        },
        CMsgSaveUserInfoRsp: {
          fields: {}
        },
        CMsgGetCourseListReq: {
          fields: {
            tagIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 1
            },
            status: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetCourseListRsp: {
          fields: {
            courses: {
              rule: 'repeated',
              type: 'CourseInfo',
              id: 1
            }
          }
        },
        CourseInfo: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            },
            courseName: {
              type: 'string',
              id: 2
            },
            tagInfos: {
              rule: 'repeated',
              type: 'TagInfo',
              id: 3
            },
            onlineLessonResourceNum: {
              type: 'uint32',
              id: 4
            },
            totalLessonResourceNum: {
              type: 'uint32',
              id: 5
            },
            status: {
              type: 'uint32',
              id: 6
            }
          }
        },
        CMsgGetClassListByCourseReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetClassListByCourseRsp: {
          fields: {
            classes: {
              rule: 'repeated',
              type: 'IDNameInt64',
              id: 1
            }
          }
        },
        ClassSimpleInfo: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            assistantId: {
              type: 'int64',
              id: 3
            },
            assistantName: {
              type: 'string',
              id: 4
            },
            studentNum: {
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgGetTeacherListReq: {
          fields: {}
        },
        CMsgGetTeacherListRsp: {
          fields: {
            teachers: {
              rule: 'repeated',
              type: 'IDNameInt64',
              id: 1
            }
          }
        },
        CMsgReorderLessonResourceReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            },
            lessonResourceIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgReorderLessonResourceRsp: {
          fields: {}
        },
        CMsgAddCourseReq: {
          fields: {
            courseName: {
              type: 'string',
              id: 1
            },
            tagIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgAddCourseRsp: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetCourseInfoReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetCourseInfoRsp: {
          fields: {
            tagInfos: {
              rule: 'repeated',
              type: 'TagInfo',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            teacher: {
              type: 'IDNameInt64',
              id: 3
            },
            duration: {
              type: 'uint32',
              id: 4
            },
            startTime: {
              type: 'string',
              id: 5
            },
            startImage: {
              type: 'string',
              id: 6
            },
            startVideoId: {
              type: 'uint32',
              id: 7
            },
            startVideoUrl: {
              type: 'string',
              id: 8
            }
          }
        },
        TagInfo: {
          fields: {
            tagId: {
              type: 'uint32',
              id: 1
            },
            tagType: {
              type: 'uint32',
              id: 2
            },
            tagName: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgSaveCourseReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            },
            courseName: {
              type: 'string',
              id: 2
            },
            teacherId: {
              type: 'int64',
              id: 3
            },
            startTime: {
              type: 'string',
              id: 4
            },
            startImage: {
              type: 'string',
              id: 5
            },
            startVideoId: {
              type: 'uint32',
              id: 6
            }
          }
        },
        CMsgSaveCourseRsp: {
          fields: {}
        },
        CMsgDeleteCourseReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteCourseRsp: {
          fields: {}
        },
        CMsgOnlineCourseReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOnlineCourseRsp: {
          fields: {}
        },
        CMsgOfflineCourseReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOfflineCourseRsp: {
          fields: {}
        },
        CMsgGetPackageListReq: {
          fields: {
            tagIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 1
            },
            status: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetPackageListRsp: {
          fields: {
            packages: {
              rule: 'repeated',
              type: 'PackageInfo',
              id: 1
            }
          }
        },
        PackageInfo: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            content: {
              type: 'string',
              id: 3
            },
            price: {
              type: 'uint32',
              id: 4
            },
            status: {
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgAddPackageReq: {
          fields: {
            packageName: {
              type: 'string',
              id: 1
            },
            price: {
              type: 'uint32',
              id: 2
            },
            content: {
              type: 'string',
              id: 3
            },
            tagIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgAddPackageRsp: {
          fields: {}
        },
        CMsgGetPackageInfoReq: {
          fields: {
            packageId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetPackageInfoRsp: {
          fields: {
            name: {
              type: 'string',
              id: 1
            },
            price: {
              type: 'uint32',
              id: 2
            },
            content: {
              type: 'string',
              id: 3
            },
            tagInfos: {
              rule: 'repeated',
              type: 'TagInfo',
              id: 4
            }
          }
        },
        CMsgSavePackageReq: {
          fields: {
            packageId: {
              type: 'uint32',
              id: 1
            },
            packageName: {
              type: 'string',
              id: 2
            },
            price: {
              type: 'uint32',
              id: 3
            },
            content: {
              type: 'string',
              id: 4
            },
            tagIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgSavePackageRsp: {
          fields: {}
        },
        CMsgDeletePackageReq: {
          fields: {
            packageId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeletePackageRsp: {
          fields: {}
        },
        CMsgOnlinePackageReq: {
          fields: {
            packageId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOnlinePackageRsp: {
          fields: {}
        },
        CMsgOfflinePackageReq: {
          fields: {
            packageId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOfflinePackageRsp: {
          fields: {}
        },
        CMsgGetCommodityListReq: {
          fields: {
            tagIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 1
            },
            status: {
              type: 'uint32',
              id: 2
            },
            commodityName: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgGetCommodityListRsp: {
          fields: {
            commodities: {
              rule: 'repeated',
              type: 'CommodityInfo',
              id: 1
            }
          }
        },
        CommodityInfo: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            serialId: {
              type: 'uint32',
              id: 2
            },
            commodityName: {
              type: 'string',
              id: 3
            },
            status: {
              type: 'uint32',
              id: 4
            },
            commodityType: {
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgAddCommodityReq: {
          fields: {
            commodityName: {
              type: 'string',
              id: 1
            },
            commodityType: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgAddCommodityRsp: {
          fields: {}
        },
        CMsgGetCourseCommodityInfoReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetCourseCommodityInfoRsp: {
          fields: {
            grade: {
              type: 'IDNameUint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            price: {
              type: 'uint32',
              id: 3
            },
            baseSoldNum: {
              type: 'uint32',
              id: 4
            },
            courses: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 5
            },
            packages: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 6
            },
            headImage: {
              type: 'string',
              id: 7
            },
            showImages: {
              rule: 'repeated',
              type: 'string',
              id: 8
            },
            shareImage: {
              type: 'string',
              id: 9
            },
            courseStartTime: {
              type: 'string',
              id: 10
            },
            courseStopTime: {
              type: 'string',
              id: 11
            },
            courseDuration: {
              type: 'uint32',
              id: 12
            }
          }
        },
        CMsgGetDepositCommodityInfoReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetDepositCommodityInfoRsp: {
          fields: {
            name: {
              type: 'string',
              id: 1
            },
            price: {
              type: 'uint32',
              id: 2
            },
            commodities: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 3
            },
            headImage: {
              type: 'string',
              id: 4
            },
            showImages: {
              rule: 'repeated',
              type: 'string',
              id: 5
            },
            shareImage: {
              type: 'string',
              id: 6
            },
            expireTime: {
              type: 'string',
              id: 7
            },
            baseSoldNum: {
              type: 'uint32',
              id: 8
            }
          }
        },
        CMsgSaveCourseCommodityReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            },
            price: {
              type: 'uint32',
              id: 2
            },
            baseSoldNum: {
              type: 'uint32',
              id: 3
            },
            courseIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 4
            },
            packageIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 5
            },
            headImage: {
              type: 'string',
              id: 6
            },
            showImages: {
              rule: 'repeated',
              type: 'string',
              id: 7
            },
            shareImage: {
              type: 'string',
              id: 8
            },
            gradeId: {
              type: 'uint32',
              id: 9
            },
            courseStartTime: {
              type: 'string',
              id: 10
            },
            courseStopTime: {
              type: 'string',
              id: 11
            },
            courseDuration: {
              type: 'uint32',
              id: 12
            },
            name: {
              type: 'string',
              id: 13
            }
          }
        },
        CMsgSaveCourseCommodityRsp: {
          fields: {}
        },
        CMsgSaveDepositCommodityReq: {
          fields: {
            depositId: {
              type: 'uint32',
              id: 1
            },
            price: {
              type: 'uint32',
              id: 2
            },
            commodityIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 3
            },
            headImage: {
              type: 'string',
              id: 4
            },
            showImages: {
              rule: 'repeated',
              type: 'string',
              id: 5
            },
            shareImage: {
              type: 'string',
              id: 6
            },
            expireTime: {
              type: 'string',
              id: 7
            },
            baseSoldNum: {
              type: 'uint32',
              id: 8
            },
            name: {
              type: 'string',
              id: 9
            }
          }
        },
        CMsgSaveDepositCommodityRsp: {
          fields: {}
        },
        CMsgDeleteCommodityReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteCommodityRsp: {
          fields: {}
        },
        CMsgOnlineCommodityReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOnlineCommodityRsp: {
          fields: {}
        },
        CMsgOfflineCommodityReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOfflineCommodityRsp: {
          fields: {}
        },
        CMsgGetTagListReq: {
          fields: {}
        },
        CMsgGetTagListRsp: {
          fields: {
            tagTypes: {
              rule: 'repeated',
              type: 'TagTypeInfo',
              id: 1
            }
          }
        },
        TagTypeInfo: {
          fields: {
            tagType: {
              type: 'uint32',
              id: 1
            },
            tags: {
              rule: 'repeated',
              type: 'TagInfo',
              id: 2
            }
          }
        },
        CMsgGetImagePreUploadInfoReq: {
          fields: {
            imageType: {
              type: 'uint32',
              id: 1
            },
            imageName: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgGetImagePreUploadInfoRsp: {
          fields: {
            ossPath: {
              type: 'string',
              id: 1
            },
            ossSTS: {
              type: 'OssSTS',
              id: 2
            },
            imageUrl: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgGetCommodityDetailReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetCommodityDetailRsp: {
          fields: {
            showPrice: {
              type: 'uint32',
              id: 1
            },
            realPrice: {
              type: 'uint32',
              id: 2
            },
            commodityName: {
              type: 'string',
              id: 3
            },
            startTime: {
              type: 'string',
              id: 4
            },
            duration: {
              type: 'uint32',
              id: 5
            },
            headImages: {
              rule: 'repeated',
              type: 'string',
              id: 6
            },
            showImages: {
              rule: 'repeated',
              type: 'string',
              id: 7
            },
            hasPackage: {
              type: 'bool',
              id: 8
            }
          }
        },
        CMsgGetCommodityCountReq: {
          fields: {
            commodityIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetCommodityCountRsp: {
          fields: {
            commodities: {
              rule: 'repeated',
              type: 'CommodityShowInfo',
              id: 1
            },
            totalPrice: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CommodityShowInfo: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            showPrice: {
              type: 'uint32',
              id: 2
            },
            realPrice: {
              type: 'uint32',
              id: 3
            },
            commodityName: {
              type: 'string',
              id: 4
            },
            startTime: {
              type: 'string',
              id: 5
            },
            duration: {
              type: 'uint32',
              id: 6
            },
            teacher: {
              type: 'UserShowInfo',
              id: 7
            },
            hasPackage: {
              type: 'bool',
              id: 8
            },
            soldNum: {
              type: 'uint32',
              id: 9
            }
          }
        },
        UserShowInfo: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            headUrl: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgGetUserScheduleReq: {
          fields: {}
        },
        CMsgGetUserScheduleRsp: {
          fields: {
            lessons: {
              rule: 'repeated',
              type: 'LessonShowInfo',
              id: 1
            },
            courses: {
              rule: 'repeated',
              type: 'CourseShowInfo',
              id: 2
            }
          }
        },
        LessonShowInfo: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            lessonResourceId: {
              type: 'uint32',
              id: 2
            },
            name: {
              type: 'string',
              id: 3
            },
            source: {
              type: 'string',
              id: 4
            },
            startTime: {
              type: 'string',
              id: 5
            },
            status: {
              type: 'uint32',
              id: 6
            },
            assistant: {
              type: 'UserShowInfo',
              id: 7
            }
          }
        },
        CourseShowInfo: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            startTime: {
              type: 'string',
              id: 3
            },
            duration: {
              type: 'uint32',
              id: 4
            },
            teacher: {
              type: 'UserShowInfo',
              id: 5
            },
            assistant: {
              type: 'UserShowInfo',
              id: 6
            },
            students: {
              rule: 'repeated',
              type: 'UserShowInfo',
              id: 7
            },
            subjectId: {
              type: 'uint32',
              id: 8
            },
            subjectName: {
              type: 'string',
              id: 9
            }
          }
        },
        CMsgGetOrderListReq: {
          fields: {}
        },
        CMsgGetOrderListRsp: {
          fields: {
            orders: {
              rule: 'repeated',
              type: 'OrderShowInfo',
              id: 1
            }
          }
        },
        OrderShowInfo: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            orderNo: {
              type: 'string',
              id: 2
            },
            createTime: {
              type: 'string',
              id: 3
            },
            payAmount: {
              type: 'uint32',
              id: 4
            },
            content: {
              type: 'string',
              id: 5
            },
            status: {
              type: 'uint32',
              id: 6
            },
            orderType: {
              type: 'uint32',
              id: 7
            }
          }
        },
        CMsgGetCourseOrderDetailReq: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetCourseOrderDetailRsp: {
          fields: {
            orderNo: {
              type: 'string',
              id: 1
            },
            orderStatus: {
              type: 'uint32',
              id: 2
            },
            courses: {
              rule: 'repeated',
              type: 'CourseOrderInfo',
              id: 3
            },
            packages: {
              rule: 'repeated',
              type: 'PackageOrderInfo',
              id: 4
            },
            orderAmount: {
              type: 'uint32',
              id: 5
            },
            payAmount: {
              type: 'uint32',
              id: 6
            },
            payMethod: {
              type: 'uint32',
              id: 7
            },
            createTime: {
              type: 'string',
              id: 8
            }
          }
        },
        CMsgGetDepositOrderDetailReq: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetDepositOrderDetailRsp: {
          fields: {
            orderNo: {
              type: 'string',
              id: 1
            },
            orderStatus: {
              type: 'uint32',
              id: 2
            },
            orderAmount: {
              type: 'uint32',
              id: 3
            },
            payAmount: {
              type: 'uint32',
              id: 4
            },
            payMethod: {
              type: 'uint32',
              id: 5
            },
            createTime: {
              type: 'string',
              id: 6
            },
            depositName: {
              type: 'string',
              id: 7
            },
            commodities: {
              rule: 'repeated',
              type: 'CommodityOrderInfo',
              id: 8
            },
            expireTime: {
              type: 'string',
              id: 9
            }
          }
        },
        CommodityOrderInfo: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            },
            commodityName: {
              type: 'string',
              id: 2
            },
            startTime: {
              type: 'string',
              id: 3
            },
            stopTime: {
              type: 'string',
              id: 4
            },
            duration: {
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgGetOrderInfoReq: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetOrderInfoRsp: {
          fields: {
            orderNo: {
              type: 'string',
              id: 1
            },
            orderStatus: {
              type: 'uint32',
              id: 2
            },
            courses: {
              rule: 'repeated',
              type: 'CourseOrderInfo',
              id: 3
            },
            packages: {
              rule: 'repeated',
              type: 'PackageOrderInfo',
              id: 4
            },
            orderAmount: {
              type: 'uint32',
              id: 5
            },
            payAmount: {
              type: 'uint32',
              id: 6
            },
            payMethod: {
              type: 'uint32',
              id: 7
            },
            paySuccessTime: {
              type: 'string',
              id: 8
            }
          }
        },
        CourseOrderInfo: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            },
            courseName: {
              type: 'string',
              id: 2
            },
            startTime: {
              type: 'string',
              id: 3
            },
            duration: {
              type: 'uint32',
              id: 4
            }
          }
        },
        PackageOrderInfo: {
          fields: {
            packageId: {
              type: 'uint32',
              id: 1
            },
            packageName: {
              type: 'string',
              id: 2
            },
            status: {
              type: 'uint32',
              id: 3
            },
            updateTime: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgGetUserAddressReq: {
          fields: {}
        },
        CMsgGetUserAddressRsp: {
          fields: {
            province: {
              type: 'string',
              id: 1
            },
            city: {
              type: 'string',
              id: 2
            },
            district: {
              type: 'string',
              id: 3
            },
            detail: {
              type: 'string',
              id: 4
            },
            receiverName: {
              type: 'string',
              id: 5
            },
            receiverMobilePhone: {
              type: 'string',
              id: 6
            }
          }
        },
        CMsgSaveUserAddressReq: {
          fields: {
            province: {
              type: 'string',
              id: 1
            },
            city: {
              type: 'string',
              id: 2
            },
            district: {
              type: 'string',
              id: 3
            },
            detail: {
              type: 'string',
              id: 4
            },
            receiverName: {
              type: 'string',
              id: 5
            },
            receiverMobilePhone: {
              type: 'string',
              id: 6
            }
          }
        },
        CMsgSaveUserAddressRsp: {
          fields: {}
        },
        CMsgGetOutchainInfoReq: {
          fields: {
            outchainId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetOutchainInfoRsp: {
          fields: {
            info: {
              type: 'OutchainInfo',
              id: 1
            }
          }
        },
        CMsgGetStudentOfParentReq: {
          fields: {}
        },
        CMsgGetStudentOfParentRsp: {
          fields: {
            studentId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetClientConfigReq: {
          fields: {}
        },
        CMsgGetClientConfigRsp: {
          fields: {
            infos: {
              rule: 'repeated',
              type: 'ClientConfigInfo',
              id: 1
            }
          }
        },
        ClientConfigInfo: {
          fields: {
            key: {
              type: 'string',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            configs: {
              rule: 'repeated',
              type: 'string',
              id: 3
            },
            toAll: {
              type: 'bool',
              id: 4
            }
          }
        },
        CNotifyFinishProblem: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            problemId: {
              type: 'uint32',
              id: 2
            },
            isCorrect: {
              type: 'bool',
              id: 3
            },
            goldCoinNum: {
              type: 'uint32',
              id: 4
            },
            stageId: {
              type: 'uint32',
              id: 5
            },
            sceneIds: {
              rule: 'repeated',
              type: 'int64',
              id: 6
            }
          }
        },
        CNotifyFinishDiscuss: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CNotifyStartDiscuss: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CNotifyUserLeaveRoom: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            userRole: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CNotifyUserJoinRoom: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            userRole: {
              type: 'uint32',
              id: 3
            },
            userNickName: {
              type: 'string',
              id: 4
            },
            goldCoinNum: {
              type: 'uint32',
              id: 5
            },
            isSubmit: {
              type: 'bool',
              id: 6
            },
            headUrl: {
              type: 'string',
              id: 7
            },
            problemId: {
              type: 'uint32',
              id: 8
            },
            isFirstJoin: {
              type: 'bool',
              id: 9
            }
          }
        },
        CNotifyLessonStart: {
          fields: {}
        },
        CNotifyLessonClose: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CNotifyLessonAssistStartTalk: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            assistUserId: {
              type: 'int64',
              id: 2
            },
            maxTalkDuration: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CNotifyLessonAssistStopTalk: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            assistUserId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CNotifyAssistantStartTalkToStudent: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            assistUserId: {
              type: 'int64',
              id: 2
            },
            maxTalkDuration: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CNotifyAssistantStopTalkToStudent: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            assistUserId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CNotifyMonitorEvent: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            eventType: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CNotifyFinishInstant: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            instantId: {
              type: 'int64',
              id: 2
            },
            isCorrect: {
              type: 'bool',
              id: 3
            },
            goldCoinNum: {
              type: 'uint32',
              id: 4
            },
            answer: {
              type: 'string',
              id: 5
            }
          }
        },
        CNotifyNewMessage: {
          fields: {
            messageId: {
              type: 'int64',
              id: 1
            },
            senderId: {
              type: 'int64',
              id: 2
            },
            senderName: {
              type: 'string',
              id: 3
            },
            senderHeadUrl: {
              type: 'string',
              id: 4
            },
            type: {
              type: 'uint32',
              id: 5
            },
            textMessage: {
              type: 'TextMessage',
              id: 6
            },
            audioMessage: {
              type: 'AudioMessage',
              id: 7
            },
            lessonEventMessage: {
              type: 'LessonEventMessage',
              id: 8
            },
            sendTime: {
              type: 'string',
              id: 9
            },
            lessonId: {
              type: 'int64',
              id: 10
            },
            className: {
              type: 'string',
              id: 11
            }
          }
        },
        CNotifyWithdrawMessage: {
          fields: {
            messageId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            friendId: {
              type: 'int64',
              id: 3
            },
            hasNotReadMsg: {
              type: 'bool',
              id: 4
            }
          }
        },
        CNotifyReadMessage: {
          fields: {
            messageId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            friendId: {
              type: 'int64',
              id: 3
            }
          }
        },
        CNotifyLessonSign: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            goldCoinChangeNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CNotifyShowFace: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            goldCoinChangeNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CNotifyTeacherLessonAudio: {
          fields: {
            teacherAudios: {
              rule: 'repeated',
              type: 'TeacherAudio',
              id: 1
            }
          }
        },
        TeacherAudio: {
          fields: {
            sceneId: {
              type: 'int64',
              id: 1
            },
            duration: {
              type: 'uint32',
              id: 2
            },
            url: {
              type: 'string',
              id: 3
            },
            roundId: {
              type: 'uint32',
              id: 4
            },
            originUrls: {
              rule: 'repeated',
              type: 'string',
              id: 5
            }
          }
        },
        CNotifyLessonPrepare: {
          fields: {
            classInfo: {
              type: 'MonitorClassInfo',
              id: 1
            }
          }
        },
        CMsgAddVideoRoundReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            roundName: {
              type: 'string',
              id: 2
            },
            isRest: {
              type: 'bool',
              id: 3
            }
          }
        },
        CMsgAddVideoRoundRsp: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgModifyOrderReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            roundIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgModifyOrderRsp: {
          fields: {}
        },
        CMsgSaveVideoRoundReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            videoId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgSaveVideoRoundRsp: {
          fields: {}
        },
        CMsgSaveVideoRoundInfoReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            roundName: {
              type: 'string',
              id: 2
            },
            isRest: {
              type: 'bool',
              id: 3
            }
          }
        },
        CMsgSaveVideoRoundInfoRsp: {
          fields: {}
        },
        CMsgUserEnterNextRoundReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            roundId: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgUserEnterNextRoundRsp: {
          fields: {}
        },
        CMsgUserProblemRoundProgressChangeReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            },
            roundId: {
              type: 'uint32',
              id: 3
            },
            roundStatus: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgUserProblemRoundProgressChangeRsp: {
          fields: {}
        },
        CMsgGetIAPCommodityListReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetIAPCommodityListRsp: {
          fields: {
            commodities: {
              rule: 'repeated',
              type: 'IAPCommodityInfo',
              id: 1
            },
            userYutouCoinAmount: {
              type: 'uint32',
              id: 2
            }
          }
        },
        IAPCommodityInfo: {
          fields: {
            commodityId: {
              type: 'string',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            price: {
              type: 'uint32',
              id: 3
            },
            yutouCoinNum: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgGetYutouCoinHistoryReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetYutouCoinHistoryRsp: {
          fields: {
            records: {
              rule: 'repeated',
              type: 'YutouCoinRecord',
              id: 1
            }
          }
        },
        YutouCoinRecord: {
          fields: {
            yutouCoinChangeReason: {
              type: 'uint32',
              id: 1
            },
            coinAmount: {
              type: 'uint32',
              id: 2
            },
            timeStamp: {
              type: 'string',
              id: 3
            },
            changeType: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgGetAssistantListReq: {
          fields: {}
        },
        CMsgGetAssistantListRsp: {
          fields: {
            assistants: {
              rule: 'repeated',
              type: 'IDNameInt64',
              id: 1
            }
          }
        },
        CMsgGetDiscoveryPageReq: {
          fields: {
            gradeId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetDiscoveryPageRsp: {
          fields: {
            banners: {
              rule: 'repeated',
              type: 'BannerInfo',
              id: 1
            },
            demoCommodities: {
              rule: 'repeated',
              type: 'Commodity',
              id: 2
            },
            systemCommodities: {
              rule: 'repeated',
              type: 'Commodity',
              id: 3
            }
          }
        },
        BannerInfo: {
          fields: {
            url: {
              type: 'string',
              id: 1
            },
            target: {
              type: 'string',
              id: 2
            }
          }
        },
        Commodity: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            startTime: {
              type: 'string',
              id: 3
            },
            teachers: {
              rule: 'repeated',
              type: 'UserShowInfo',
              id: 4
            },
            price: {
              type: 'uint32',
              id: 5
            },
            soldNum: {
              type: 'uint32',
              id: 6
            },
            duration: {
              type: 'uint32',
              id: 7
            }
          }
        },
        CMsgLessonAssistStartTalkToAllReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgLessonAssistStartTalkToAllRsp: {
          fields: {}
        },
        CMsgLessonAssistStopTalkToAllReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgLessonAssistStopTalkToAllRsp: {
          fields: {}
        },
        CMsgGetDistrictInfoReq: {
          fields: {}
        },
        CMsgGetDistrictInfoRsp: {
          fields: {
            provinces: {
              rule: 'repeated',
              type: 'ProvinceInfo',
              id: 1
            }
          }
        },
        ProvinceInfo: {
          fields: {
            provinceName: {
              type: 'string',
              id: 1
            },
            cities: {
              rule: 'repeated',
              type: 'CityInfo',
              id: 2
            }
          }
        },
        CityInfo: {
          fields: {
            cityName: {
              type: 'string',
              id: 1
            },
            districts: {
              rule: 'repeated',
              type: 'string',
              id: 2
            }
          }
        },
        CMsgUploadedWelcomeVideoReq: {
          fields: {
            videoId: {
              type: 'uint32',
              id: 1
            },
            courseId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgUploadedWelcomeVideoRsp: {
          fields: {
            videoPlayURL: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgUserOpenCourseReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            courseIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgUserOpenCourseRsp: {
          fields: {}
        },
        CMsgGetClassListByCourseNameReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            courseName: {
              type: 'string',
              id: 2
            },
            assistId: {
              type: 'int64',
              id: 3
            },
            schoolId: {
              type: 'uint32',
              id: 4
            },
            nextLessonTime: {
              type: 'string',
              id: 5
            }
          }
        },
        CMsgGetClassListByCourseNameRsp: {
          fields: {
            classes: {
              rule: 'repeated',
              type: 'ClassSimpleInfo',
              id: 1
            }
          }
        },
        CMsgGetLessonEndPageReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetLessonEndPageRsp: {
          fields: {
            userLessonEndInfoList: {
              rule: 'repeated',
              type: 'UserLessonEndInfo',
              id: 1
            },
            userGoldCoinNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        UserLessonEndInfo: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            userName: {
              type: 'string',
              id: 2
            },
            coinChangeNum: {
              type: 'uint32',
              id: 3
            },
            headURL: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgGetRoundListOnReviewReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetRoundListOnReviewRsp: {
          fields: {
            rounds: {
              rule: 'repeated',
              type: 'CMsgRoundInfo',
              id: 1
            },
            teacherName: {
              type: 'string',
              id: 2
            },
            teacherAudios: {
              rule: 'repeated',
              type: 'TeacherAudio',
              id: 3
            }
          }
        },
        CMsgUserGetRoundListReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgUserGetRoundListRsp: {
          fields: {
            rounds: {
              rule: 'repeated',
              type: 'UserRoundInfo',
              id: 1
            },
            teacherName: {
              type: 'string',
              id: 2
            }
          }
        },
        UserRoundInfo: {
          fields: {
            serialId: {
              type: 'uint32',
              id: 1
            },
            roundId: {
              type: 'uint32',
              id: 2
            },
            roundName: {
              type: 'string',
              id: 3
            },
            status: {
              type: 'uint32',
              id: 4
            },
            duration: {
              type: 'uint32',
              id: 5
            },
            roundType: {
              type: 'uint32',
              id: 6
            },
            roundInfoMain: {
              type: 'RoundInfoMain',
              id: 7
            },
            roundInfoProblem: {
              type: 'RoundInfoProblem',
              id: 8
            },
            roundInfoVideo: {
              type: 'RoundInfoVideo',
              id: 9
            },
            discussStartTime: {
              type: 'uint32',
              id: 10
            },
            stageId: {
              type: 'uint32',
              id: 11
            },
            roundInfoRollCall: {
              type: 'RoundInfoRollCall',
              id: 12
            }
          }
        },
        CMsgAddInstantAnswerReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            startTime: {
              type: 'uint32',
              id: 2
            },
            duration: {
              type: 'uint32',
              id: 3
            },
            isDefault: {
              type: 'bool',
              id: 4
            },
            options: {
              rule: 'repeated',
              type: 'string',
              id: 5
            },
            answer: {
              type: 'string',
              id: 6
            },
            title: {
              type: 'RichText',
              id: 7
            }
          }
        },
        CMsgAddInstantAnswerRsp: {
          fields: {
            instantAnswerId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetInstantAnswerReq: {
          fields: {
            instantAnswerId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetInstantAnswerRsp: {
          fields: {
            startTime: {
              type: 'uint32',
              id: 1
            },
            duration: {
              type: 'uint32',
              id: 2
            },
            isDefault: {
              type: 'bool',
              id: 3
            },
            options: {
              rule: 'repeated',
              type: 'string',
              id: 4
            },
            answer: {
              type: 'string',
              id: 5
            },
            title: {
              type: 'RichText',
              id: 6
            }
          }
        },
        CMsgSaveInstantAnswerReq: {
          fields: {
            instantAnswerId: {
              type: 'int64',
              id: 1
            },
            startTime: {
              type: 'uint32',
              id: 2
            },
            duration: {
              type: 'uint32',
              id: 3
            },
            isDefault: {
              type: 'bool',
              id: 4
            },
            options: {
              rule: 'repeated',
              type: 'string',
              id: 5
            },
            answer: {
              type: 'string',
              id: 6
            },
            title: {
              type: 'RichText',
              id: 7
            }
          }
        },
        CMsgSaveInstantAnswerRsp: {
          fields: {}
        },
        CMsgDeleteInstantAnswerReq: {
          fields: {
            instantAnswerId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgDeleteInstantAnswerRsp: {
          fields: {}
        },
        CMsgUploadUserInstantAnswerReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            answer: {
              type: 'string',
              id: 2
            },
            instantAnswerId: {
              type: 'int64',
              id: 3
            },
            roundId: {
              type: 'uint32',
              id: 4
            },
            useTime: {
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgUploadUserInstantAnswerRsp: {
          fields: {
            isCorrect: {
              type: 'bool',
              id: 1
            }
          }
        },
        CMsgGetAgentListReq: {
          fields: {}
        },
        CMsgGetAgentListRsp: {
          fields: {
            agents: {
              rule: 'repeated',
              type: 'AgentInfo',
              id: 1
            }
          }
        },
        AgentInfo: {
          fields: {
            agentId: {
              type: 'uint32',
              id: 1
            },
            agentName: {
              type: 'string',
              id: 2
            },
            registerNum: {
              type: 'uint32',
              id: 3
            },
            achieveNum: {
              type: 'uint32',
              id: 4
            },
            achieveAmount: {
              type: 'uint32',
              id: 5
            },
            transferNum: {
              type: 'uint32',
              id: 6
            },
            transferAmount: {
              type: 'uint32',
              id: 7
            },
            totalAmount: {
              type: 'uint32',
              id: 8
            },
            achieveRate: {
              type: 'float',
              id: 9
            },
            miniProgramQR: {
              type: 'string',
              id: 10
            }
          }
        },
        CMsgSaveAgentReq: {
          fields: {
            agentId: {
              type: 'uint32',
              id: 1
            },
            agentName: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgSaveAgentRsp: {
          fields: {}
        },
        CMsgGetAgentSchoolPlansReq: {
          fields: {
            agentId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetAgentSchoolPlansRsp: {
          fields: {
            plans: {
              rule: 'repeated',
              type: 'AgentSchoolPlan',
              id: 1
            }
          }
        },
        AgentSchoolPlan: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            },
            schoolName: {
              type: 'string',
              id: 2
            },
            estimateNum: {
              type: 'uint32',
              id: 3
            },
            startTime: {
              type: 'string',
              id: 4
            },
            assistants: {
              rule: 'repeated',
              type: 'AssistantDistribute',
              id: 5
            }
          }
        },
        AssistantDistribute: {
          fields: {
            assistantName: {
              type: 'string',
              id: 1
            },
            estimateNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgSaveAgentSchoolPlanReq: {
          fields: {
            agentId: {
              type: 'uint32',
              id: 1
            },
            schoolId: {
              type: 'uint32',
              id: 2
            },
            startTime: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgSaveAgentSchoolPlanRsp: {
          fields: {}
        },
        CMsgSaveSchoolClassReq: {
          fields: {
            schoolClassId: {
              type: 'uint32',
              id: 1
            },
            schoolId: {
              type: 'uint32',
              id: 2
            },
            gradeId: {
              type: 'uint32',
              id: 3
            },
            schoolClassName: {
              type: 'string',
              id: 4
            },
            estimateNum: {
              type: 'uint32',
              id: 5
            },
            assistantId: {
              type: 'int64',
              id: 6
            }
          }
        },
        CMsgSaveSchoolClassRsp: {
          fields: {}
        },
        CMsgDeleteSchoolClassReq: {
          fields: {
            schoolClassId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteSchoolClassRsp: {
          fields: {}
        },
        CMsgGetAgentSchoolPlanInfoReq: {
          fields: {
            agentId: {
              type: 'uint32',
              id: 1
            },
            schoolId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetAgentSchoolPlanInfoRsp: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            },
            schoolName: {
              type: 'string',
              id: 2
            },
            startTime: {
              type: 'string',
              id: 3
            },
            plans: {
              rule: 'repeated',
              type: 'SchoolClassPlan',
              id: 4
            },
            assistants: {
              rule: 'repeated',
              type: 'AssistantDistribute',
              id: 5
            }
          }
        },
        SchoolClassPlan: {
          fields: {
            grade: {
              type: 'IDNameUint32',
              id: 1
            },
            schoolClass: {
              type: 'IDNameUint32',
              id: 2
            },
            estimateNum: {
              type: 'uint32',
              id: 3
            },
            assistant: {
              type: 'IDNameInt64',
              id: 4
            }
          }
        },
        CMsgGetSchoolSelectListReq: {
          fields: {}
        },
        CMsgGetSchoolSelectListRsp: {
          fields: {
            schools: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 1
            }
          }
        },
        CMsgGetSchoolClassSelectListReq: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetSchoolClassSelectListRsp: {
          fields: {
            schoolClasses: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 1
            }
          }
        },
        CMsgGetExamPaperListReq: {
          fields: {
            examPaperName: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGetExamPaperListRsp: {
          fields: {
            examPapers: {
              rule: 'repeated',
              type: 'ExamPaperInfo',
              id: 1
            }
          }
        },
        ExamPaperInfo: {
          fields: {
            examPaperId: {
              type: 'uint32',
              id: 1
            },
            examPaperName: {
              type: 'string',
              id: 2
            },
            grade: {
              type: 'string',
              id: 3
            },
            subject: {
              type: 'string',
              id: 4
            },
            status: {
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgSaveExamPaperReq: {
          fields: {
            examPaperId: {
              type: 'uint32',
              id: 1
            },
            examPaperName: {
              type: 'string',
              id: 2
            },
            gradeId: {
              type: 'uint32',
              id: 3
            },
            subjectId: {
              type: 'uint32',
              id: 4
            },
            assignCourse: {
              type: 'bool',
              id: 5
            },
            passScore: {
              type: 'uint32',
              id: 6
            },
            divisionScore: {
              type: 'uint32',
              id: 7
            },
            problems: {
              rule: 'repeated',
              type: 'ProblemScore',
              id: 8
            },
            duration: {
              type: 'uint32',
              id: 9
            }
          }
        },
        ProblemScore: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            },
            type: {
              type: 'uint32',
              id: 2
            },
            withSmall: {
              type: 'bool',
              id: 3
            },
            content: {
              type: 'string',
              id: 4
            },
            score: {
              type: 'uint32',
              id: 5
            },
            smallProblems: {
              rule: 'repeated',
              type: 'SmallProblemScore',
              id: 6
            }
          }
        },
        SmallProblemScore: {
          fields: {
            smallProblemId: {
              type: 'int64',
              id: 1
            },
            type: {
              type: 'uint32',
              id: 2
            },
            content: {
              type: 'string',
              id: 3
            },
            score: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgSaveExamPaperRsp: {
          fields: {}
        },
        CMsgSearchProblemReq: {
          fields: {
            problemType: {
              type: 'uint32',
              id: 1
            },
            keyword: {
              type: 'string',
              id: 2
            },
            pageNum: {
              type: 'uint32',
              id: 3
            },
            perPageNum: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgSearchProblemRsp: {
          fields: {
            problems: {
              rule: 'repeated',
              type: 'ProblemSimpleInfo',
              id: 1
            },
            totalNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        ProblemSimpleInfo: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            content: {
              type: 'string',
              id: 2
            },
            type: {
              type: 'uint32',
              id: 3
            },
            smallProblems: {
              rule: 'repeated',
              type: 'SmallProblemSimpleInfo',
              id: 4
            }
          }
        },
        SmallProblemSimpleInfo: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            content: {
              type: 'string',
              id: 2
            },
            type: {
              type: 'uint32',
              id: 3
            }
          }
        },
        ExamProblemInfo: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            },
            problemType: {
              type: 'uint32',
              id: 2
            },
            selectProblem: {
              type: 'SelectProblemInfo',
              id: 3
            },
            blankfillingProblem: {
              type: 'BlankfillingProblemInfo',
              id: 4
            },
            problemScore: {
              type: 'uint32',
              id: 5
            },
            explain: {
              type: 'RichText',
              id: 6
            }
          }
        },
        SelectProblemInfo: {
          fields: {
            title: {
              rule: 'repeated',
              type: 'RichText',
              id: 1
            },
            options: {
              rule: 'repeated',
              type: 'ProblemOption',
              id: 2
            },
            answer: {
              rule: 'repeated',
              type: 'string',
              id: 3
            },
            explain: {
              rule: 'repeated',
              type: 'RichText',
              id: 4
            }
          }
        },
        BlankfillingProblemInfo: {
          fields: {
            blocks: {
              rule: 'repeated',
              type: 'Block',
              id: 1
            },
            explain: {
              rule: 'repeated',
              type: 'RichText',
              id: 2
            }
          }
        },
        ListenProblemInfo: {
          fields: {
            audioURL: {
              type: 'string',
              id: 1
            },
            selectInfo: {
              type: 'SelectProblemInfo',
              id: 2
            },
            audioFileName: {
              type: 'string',
              id: 3
            }
          }
        },
        WordBlankfillingProblemInfo: {
          fields: {
            blocks: {
              rule: 'repeated',
              type: 'Block',
              id: 1
            },
            smallProblems: {
              rule: 'repeated',
              type: 'SmallProblemDetail',
              id: 2
            }
          }
        },
        BlankfillingNoTitle: {
          fields: {
            answer: {
              type: 'string',
              id: 1
            },
            explain: {
              rule: 'repeated',
              type: 'RichText',
              id: 2
            }
          }
        },
        ClozeProblemInfo: {
          fields: {
            blocks: {
              rule: 'repeated',
              type: 'Block',
              id: 1
            },
            smallProblems: {
              rule: 'repeated',
              type: 'SmallProblemDetail',
              id: 2
            }
          }
        },
        SelectNoTitle: {
          fields: {
            options: {
              rule: 'repeated',
              type: 'ProblemOption',
              id: 1
            },
            answer: {
              rule: 'repeated',
              type: 'string',
              id: 2
            },
            explain: {
              rule: 'repeated',
              type: 'RichText',
              id: 3
            }
          }
        },
        ReadingProblemInfo: {
          fields: {
            blocks: {
              rule: 'repeated',
              type: 'RichText',
              id: 1
            },
            smallProblems: {
              rule: 'repeated',
              type: 'SmallProblemDetail',
              id: 2
            }
          }
        },
        ListeningComprehensionProblemInfo: {
          fields: {
            audioURL: {
              type: 'string',
              id: 1
            },
            duration: {
              type: 'uint32',
              id: 2
            },
            smallProblems: {
              rule: 'repeated',
              type: 'SmallProblemDetail',
              id: 3
            },
            audioFileName: {
              type: 'string',
              id: 4
            }
          }
        },
        Block: {
          fields: {
            paragraphs: {
              rule: 'repeated',
              type: 'Paragraph',
              id: 1
            }
          }
        },
        Paragraph: {
          fields: {
            type: {
              type: 'uint32',
              id: 1
            },
            content: {
              type: 'string',
              id: 2
            },
            answers: {
              rule: 'repeated',
              type: 'string',
              id: 3
            }
          }
        },
        CMsgGetProblemInfoReq: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetProblemInfoRsp: {
          fields: {
            problemDetail: {
              type: 'ProblemDetail',
              id: 1
            }
          }
        },
        ProblemDetail: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            },
            problemType: {
              type: 'uint32',
              id: 2
            },
            subjectId: {
              type: 'uint32',
              id: 3
            },
            introduce: {
              type: 'string',
              id: 4
            },
            selectProblem: {
              type: 'SelectProblemInfo',
              id: 5
            },
            blankfillingProblem: {
              type: 'BlankfillingProblemInfo',
              id: 6
            },
            listenProblem: {
              type: 'ListenProblemInfo',
              id: 7
            },
            wordBlankfillingProblem: {
              type: 'WordBlankfillingProblemInfo',
              id: 8
            },
            clozeProblem: {
              type: 'ClozeProblemInfo',
              id: 9
            },
            readingProblem: {
              type: 'ReadingProblemInfo',
              id: 10
            },
            listeningComprehensionProblem: {
              type: 'ListeningComprehensionProblemInfo',
              id: 11
            }
          }
        },
        SmallProblemDetail: {
          fields: {
            smallProblemId: {
              type: 'int64',
              id: 1
            },
            smallProblemType: {
              type: 'uint32',
              id: 2
            },
            wordBlankfillingProblem: {
              type: 'BlankfillingNoTitle',
              id: 3
            },
            clozeProblem: {
              type: 'SelectNoTitle',
              id: 4
            },
            readingSelectProblem: {
              type: 'SelectProblemInfo',
              id: 5
            },
            readingBlankfillingProblem: {
              type: 'BlankfillingProblemInfo',
              id: 6
            },
            listeningCompreSelectProblem: {
              type: 'SelectProblemInfo',
              id: 7
            },
            listeningCompreBlankfillingProblem: {
              type: 'BlankfillingProblemInfo',
              id: 8
            }
          }
        },
        CMsgSaveProblemInfoReq: {
          fields: {
            problemDetail: {
              type: 'ProblemDetail',
              id: 1
            }
          }
        },
        CMsgSaveProblemInfoRsp: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            },
            content: {
              type: 'string',
              id: 2
            },
            smallProblemInfo: {
              rule: 'repeated',
              type: 'IDNameInt64',
              id: 3
            }
          }
        },
        CMsgOnlineExamPaperReq: {
          fields: {
            examPaperId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOnlineExamPaperRsp: {
          fields: {}
        },
        CMsgOfflineExamPaperReq: {
          fields: {
            examPaperId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOfflineExamPaperRsp: {
          fields: {}
        },
        CMsgGetSchoolListReq: {
          fields: {
            keyword: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGetSchoolListRsp: {
          fields: {
            schools: {
              rule: 'repeated',
              type: 'SchoolInfo',
              id: 1
            }
          }
        },
        SchoolInfo: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            configNum: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgGetSchoolInfoReq: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetSchoolInfoRsp: {
          fields: {
            schoolName: {
              type: 'string',
              id: 1
            },
            schoolSimpleName: {
              type: 'string',
              id: 2
            },
            province: {
              type: 'string',
              id: 3
            },
            city: {
              type: 'string',
              id: 4
            },
            district: {
              type: 'string',
              id: 5
            },
            address: {
              type: 'string',
              id: 6
            },
            exams: {
              rule: 'repeated',
              type: 'SchoolExamInfo',
              id: 7
            },
            classNames: {
              rule: 'repeated',
              type: 'string',
              id: 8
            },
            drawCourseDonePage: {
              type: 'DrawCourseDonePage',
              id: 9
            }
          }
        },
        DrawCourseDonePage: {
          fields: {
            drawDesc: {
              type: 'string',
              id: 1
            },
            scanDesc: {
              type: 'string',
              id: 2
            },
            problems: {
              rule: 'repeated',
              type: 'DrawCourseProblem',
              id: 3
            }
          }
        },
        DrawCourseProblem: {
          fields: {
            problem: {
              type: 'string',
              id: 1
            },
            answer: {
              type: 'string',
              id: 2
            }
          }
        },
        SchoolExamInfo: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            },
            grade: {
              type: 'IDNameUint32',
              id: 2
            },
            subject: {
              type: 'IDNameUint32',
              id: 3
            },
            examPaper: {
              type: 'IDNameUint32',
              id: 4
            },
            startTime: {
              type: 'string',
              id: 5
            },
            assignCourse: {
              type: 'bool',
              id: 6
            },
            course: {
              type: 'ExamCourseConfig',
              id: 7
            },
            syncCourse: {
              type: 'ExamCourseConfig',
              id: 8
            },
            zhongkaoCourse: {
              type: 'ExamCourseConfig',
              id: 9
            },
            examUserNum: {
              type: 'uint32',
              id: 10
            },
            estimateUserNum: {
              type: 'uint32',
              id: 11
            }
          }
        },
        CMsgDivideUserClassReq: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDivideUserClassRsp: {
          fields: {}
        },
        CMsgSaveSchoolInfoReq: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            },
            schoolName: {
              type: 'string',
              id: 2
            },
            schoolSimpleName: {
              type: 'string',
              id: 3
            },
            province: {
              type: 'string',
              id: 4
            },
            city: {
              type: 'string',
              id: 5
            },
            district: {
              type: 'string',
              id: 6
            },
            address: {
              type: 'string',
              id: 7
            },
            exams: {
              rule: 'repeated',
              type: 'SchoolExamInfoV2',
              id: 8
            },
            classNames: {
              rule: 'repeated',
              type: 'string',
              id: 9
            },
            drawCourseDonePage: {
              type: 'DrawCourseDonePage',
              id: 10
            }
          }
        },
        SchoolExamInfoV2: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            },
            gradeId: {
              type: 'uint32',
              id: 2
            },
            subjectId: {
              type: 'uint32',
              id: 3
            },
            examPaperId: {
              type: 'uint32',
              id: 4
            },
            startTime: {
              type: 'string',
              id: 5
            },
            assignCourse: {
              type: 'bool',
              id: 6
            },
            course: {
              type: 'ExamCourseConfig',
              id: 7
            },
            syncCourse: {
              type: 'ExamCourseConfig',
              id: 8
            },
            zhongkaoCourse: {
              type: 'ExamCourseConfig',
              id: 9
            }
          }
        },
        ExamCourseConfig: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            models: {
              rule: 'repeated',
              type: 'IDNameInt64',
              id: 3
            }
          }
        },
        CMsgSaveSchoolInfoRsp: {
          fields: {}
        },
        CMsgGetExamPaperReq: {
          fields: {
            examPaperId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetExamPaperRsp: {
          fields: {
            examPaperName: {
              type: 'string',
              id: 1
            },
            grade: {
              type: 'IDNameUint32',
              id: 2
            },
            subject: {
              type: 'IDNameUint32',
              id: 3
            },
            duration: {
              type: 'uint32',
              id: 4
            },
            assignCourse: {
              type: 'bool',
              id: 5
            },
            passScore: {
              type: 'uint32',
              id: 6
            },
            divisionScore: {
              type: 'uint32',
              id: 7
            },
            problemScores: {
              rule: 'repeated',
              type: 'ProblemScore',
              id: 8
            }
          }
        },
        CMsgMPSiftSchoolListReq: {
          fields: {
            province: {
              type: 'string',
              id: 1
            },
            city: {
              type: 'string',
              id: 2
            },
            district: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgMPSiftSchoolListRsp: {
          fields: {
            schools: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 1
            }
          }
        },
        CMsgMPSiftSchoolClassListReq: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            },
            gradeId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgMPSiftSchoolClassListRsp: {
          fields: {
            classes: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 1
            }
          }
        },
        CMsgMPSubmitUserFormReq: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            },
            gradeId: {
              type: 'uint32',
              id: 2
            },
            schoolClassId: {
              type: 'uint32',
              id: 3
            },
            subjectIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 4
            },
            studentName: {
              type: 'string',
              id: 5
            },
            mobilePhone: {
              type: 'string',
              id: 6
            },
            agentId: {
              type: 'uint32',
              id: 7
            }
          }
        },
        CMsgMPSubmitUserFormRsp: {
          fields: {
            assistantUrl: {
              type: 'string',
              id: 1
            },
            assistantQRCodeUrl: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgCheckVerifyCodeReq: {
          fields: {
            mobilePhone: {
              type: 'string',
              id: 1
            },
            verifyCode: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgCheckVerifyCodeRsp: {
          fields: {}
        },
        CMsgMPLocateDistrictAddressReq: {
          fields: {
            location: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgMPLocateDistrictAddressRsp: {
          fields: {
            province: {
              type: 'string',
              id: 1
            },
            city: {
              type: 'string',
              id: 2
            },
            district: {
              type: 'string',
              id: 3
            },
            detail: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgMPGetMobilePhoneUserInfoReq: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgMPGetMobilePhoneUserInfoRsp: {
          fields: {
            schoolName: {
              type: 'string',
              id: 1
            },
            grade: {
              type: 'string',
              id: 2
            },
            schoolClass: {
              type: 'string',
              id: 3
            },
            userName: {
              type: 'string',
              id: 4
            },
            examName: {
              type: 'string',
              id: 5
            },
            mobilePhone: {
              type: 'string',
              id: 6
            }
          }
        },
        CMsgMPGetExamProblemsReq: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            },
            lastPullExamPaperTime: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgMPGetExamProblemsRsp: {
          fields: {
            duration: {
              type: 'uint32',
              id: 1
            },
            problemIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 2
            },
            repeatProblemIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 3
            },
            changedProblemIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgMPGetExamProblemReq: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgMPGetExamProblemRsp: {
          fields: {
            problemDetail: {
              type: 'ProblemDetail',
              id: 1
            }
          }
        },
        CMsgGetMPHomeReq: {
          fields: {}
        },
        CMsgGetMPHomeRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            userName: {
              type: 'string',
              id: 2
            },
            schoolClass: {
              type: 'string',
              id: 3
            },
            exams: {
              rule: 'repeated',
              type: 'MPHomeExam',
              id: 4
            }
          }
        },
        MPHomeExam: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            },
            examName: {
              type: 'string',
              id: 2
            },
            status: {
              type: 'uint32',
              id: 3
            },
            beginTime: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgMPSubmitExamAnswerReq: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            },
            answers: {
              rule: 'repeated',
              type: 'ProblemAnswer',
              id: 2
            },
            duration: {
              type: 'uint32',
              id: 3
            },
            lastPullExamPaperTime: {
              type: 'string',
              id: 4
            }
          }
        },
        ProblemAnswer: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            },
            withSmall: {
              type: 'bool',
              id: 2
            },
            answer: {
              rule: 'repeated',
              type: 'string',
              id: 3
            },
            smallAnswers: {
              rule: 'repeated',
              type: 'SmallProblemAnswer',
              id: 4
            }
          }
        },
        SmallProblemAnswer: {
          fields: {
            smallProblemId: {
              type: 'int64',
              id: 1
            },
            answer: {
              rule: 'repeated',
              type: 'string',
              id: 2
            }
          }
        },
        BlockAnswer: {
          fields: {
            index: {
              type: 'uint32',
              id: 1
            },
            answers: {
              rule: 'repeated',
              type: 'string',
              id: 2
            }
          }
        },
        CMsgMPSubmitExamAnswerRsp: {
          fields: {
            awardContent: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgMPGetExamResultReq: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgMPGetExamResultRsp: {
          fields: {
            score: {
              type: 'uint32',
              id: 1
            },
            duration: {
              type: 'uint32',
              id: 2
            },
            problems: {
              rule: 'repeated',
              type: 'ProblemResult',
              id: 3
            },
            awardContent: {
              type: 'uint32',
              id: 4
            },
            subjectId: {
              type: 'uint32',
              id: 5
            }
          }
        },
        ProblemResult: {
          fields: {
            problemId: {
              type: 'uint32',
              id: 1
            },
            withSmall: {
              type: 'bool',
              id: 2
            },
            isCorrect: {
              type: 'bool',
              id: 3
            },
            results: {
              rule: 'repeated',
              type: 'SmallProblemResult',
              id: 4
            }
          }
        },
        SmallProblemResult: {
          fields: {
            smallProblemId: {
              type: 'int64',
              id: 1
            },
            isCorrect: {
              type: 'bool',
              id: 2
            }
          }
        },
        CMsgGetExamPaperSelectListReq: {
          fields: {
            gradeId: {
              type: 'uint32',
              id: 1
            },
            subjectId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetExamPaperSelectListRsp: {
          fields: {
            examPapers: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 1
            }
          }
        },
        CMsgMPGetWechatConfigReq: {
          fields: {
            url: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgMPGetWechatConfigRsp: {
          fields: {
            timestamp: {
              type: 'string',
              id: 1
            },
            nonceStr: {
              type: 'string',
              id: 2
            },
            signature: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgH5GetWechatConfigReq: {
          fields: {
            url: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgH5GetWechatConfigRsp: {
          fields: {
            timestamp: {
              type: 'string',
              id: 1
            },
            nonceStr: {
              type: 'string',
              id: 2
            },
            signature: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgMPGetEnterSchoolExamReq: {
          fields: {}
        },
        CMsgMPGetEnterSchoolExamRsp: {
          fields: {
            examStatus: {
              type: 'uint32',
              id: 1
            },
            beginTime: {
              type: 'string',
              id: 2
            },
            examId: {
              type: 'uint32',
              id: 3
            },
            lessonTime: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgMPGetDrawCourseStatusReq: {
          fields: {}
        },
        CMsgMPGetDrawCourseStatusRsp: {
          fields: {
            drawCourse: {
              type: 'bool',
              id: 1
            },
            assistantUrl: {
              type: 'string',
              id: 2
            },
            assistantQRCodeUrl: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgGetAgentQRCodeReq: {
          fields: {
            agentId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetAgentQRCodeRsp: {
          fields: {
            wxmpQRCode: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgInteractRoundAddProblemReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            problemId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgInteractRoundAddProblemRsp: {
          fields: {}
        },
        CMsgDeleteSchoolReq: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteSchoolRsp: {
          fields: {}
        },
        CMsgMonitorLessonReq: {
          fields: {}
        },
        CMsgMonitorLessonRsp: {
          fields: {
            lessonInfos: {
              rule: 'repeated',
              type: 'MonitorLessonInfo',
              id: 1
            },
            bigClassChannel: {
              type: 'string',
              id: 2
            }
          }
        },
        OutchainInfo: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            type: {
              type: 'uint32',
              id: 3
            },
            status: {
              type: 'uint32',
              id: 4
            },
            urlAddress: {
              type: 'string',
              id: 5
            },
            videoId: {
              type: 'uint32',
              id: 6
            },
            videoPlayUrl: {
              type: 'string',
              id: 7
            },
            updateTime: {
              type: 'string',
              id: 8
            }
          }
        },
        CMsgGetOutchainListReq: {
          fields: {
            searchName: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGetOutchainListRsp: {
          fields: {
            outchainInfoList: {
              rule: 'repeated',
              type: 'OutchainInfo',
              id: 1
            }
          }
        },
        CMsgSaveOutchainInfoReq: {
          fields: {
            outchainId: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            videoId: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgSaveOutchainInfoRsp: {
          fields: {}
        },
        CMsgDeleteOutchainReq: {
          fields: {
            outchainId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteOutchainRsp: {
          fields: {}
        },
        CMsgOnlineOutchainReq: {
          fields: {
            outchainId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOnlineOutchainRsp: {
          fields: {}
        },
        CMsgOfflineOutchainReq: {
          fields: {
            outchainId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgOfflineOutchainRsp: {
          fields: {}
        },
        CMsgUploadOutchainVideoDoneReq: {
          fields: {
            videoId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgUploadOutchainVideoDoneRsp: {
          fields: {}
        },
        CMsgMPSelectLessonTimeReq: {
          fields: {
            modelId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgMPSelectLessonTimeRsp: {
          fields: {}
        },
        CMsgMPGetLessonTimeReq: {
          fields: {}
        },
        CMsgMPGetLessonTimeRsp: {
          fields: {
            lessonTime: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgMPGetSchoolGradeReq: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgMPGetSchoolGradeRsp: {
          fields: {
            grades: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 1
            }
          }
        },
        MonitorLessonInfo: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            lessonName: {
              type: 'string',
              id: 2
            },
            lessonResourceId: {
              type: 'uint32',
              id: 3
            },
            channel: {
              type: 'string',
              id: 4
            },
            users: {
              rule: 'repeated',
              type: 'UserStatus',
              id: 5
            },
            lessonStatus: {
              type: 'uint32',
              id: 6
            },
            currentMonitorRoundInfo: {
              rule: 'repeated',
              type: 'CurrentMonitorRoundInfo',
              id: 7
            },
            lessonStartTime: {
              type: 'string',
              id: 8
            },
            className: {
              type: 'string',
              id: 9
            },
            intervalBeforeLessonStart: {
              type: 'uint32',
              id: 10
            },
            maxTalkDuration: {
              type: 'uint32',
              id: 11
            },
            maxLessonTime: {
              type: 'uint32',
              id: 12
            },
            totalRightRate: {
              type: 'uint32',
              id: 13
            }
          }
        },
        CurrentMonitorRoundInfo: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            roundType: {
              type: 'uint32',
              id: 2
            },
            roundProgress: {
              type: 'uint32',
              id: 3
            },
            readProblemProgress: {
              type: 'uint32',
              id: 4
            },
            discussProgress: {
              type: 'uint32',
              id: 5
            },
            doProblemProgress: {
              type: 'uint32',
              id: 6
            },
            explainVideoProgress: {
              type: 'uint32',
              id: 7
            },
            roundStatus: {
              type: 'uint32',
              id: 8
            },
            users: {
              rule: 'repeated',
              type: 'int64',
              id: 9
            },
            submitProblemUsers: {
              rule: 'repeated',
              type: 'int64',
              id: 10
            },
            rightUsers: {
              rule: 'repeated',
              type: 'int64',
              id: 11
            },
            roundName: {
              type: 'string',
              id: 12
            },
            isRest: {
              type: 'bool',
              id: 13
            },
            answerState: {
              type: 'uint32',
              id: 14
            }
          }
        },
        CMsgAssistantLeaveReq: {
          fields: {
            lessonIds: {
              rule: 'repeated',
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgAssistantLeaveRsp: {
          fields: {}
        },
        CMsgAssistantStartTalkToStudentReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            userId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgAssistantStartTalkToStudentRsp: {
          fields: {}
        },
        CMsgAssistantStopTalkToStudentReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            userId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgAssistantStopTalkToStudentRsp: {
          fields: {}
        },
        CMsgAssistantStartBroadcastReq: {
          fields: {
            lessonIds: {
              rule: 'repeated',
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgAssistantStartBroadcastRsp: {
          fields: {}
        },
        CMsgAssistantStopBroadcastReq: {
          fields: {
            lessonIds: {
              rule: 'repeated',
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgAssistantStopBroadcastRsp: {
          fields: {}
        },
        CMsgMPGetExamProblemRecordReq: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            },
            problemId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgMPGetExamProblemRecordRsp: {
          fields: {
            problemDetail: {
              type: 'ProblemDetail',
              id: 1
            },
            userSubmitAnswer: {
              type: 'ProblemAnswer',
              id: 2
            }
          }
        },
        CMsgGetSchoolClassNameListReq: {
          fields: {
            schoolId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetSchoolClassNameListRsp: {
          fields: {
            classNames: {
              rule: 'repeated',
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGetUserDetailReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetUserDetailRsp: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            nickName: {
              type: 'string',
              id: 2
            },
            mobilePhone: {
              type: 'string',
              id: 3
            },
            classes: {
              rule: 'repeated',
              type: 'CourseClassInfo',
              id: 4
            },
            headUrl: {
              type: 'string',
              id: 5
            },
            courses: {
              rule: 'repeated',
              type: 'UserCourse',
              id: 6
            },
            orders: {
              rule: 'repeated',
              type: 'OrderInfo',
              id: 7
            },
            role: {
              type: 'uint32',
              id: 8
            },
            schoolID: {
              type: 'uint32',
              id: 9
            },
            schoolName: {
              type: 'string',
              id: 10
            },
            gradeID: {
              type: 'uint32',
              id: 11
            },
            gradeName: {
              type: 'string',
              id: 12
            },
            schoolClassID: {
              type: 'uint32',
              id: 13
            },
            schoolClassName: {
              type: 'string',
              id: 14
            },
            lookLessonDevice: {
              type: 'string',
              id: 15
            },
            contacts: {
              rule: 'repeated',
              type: 'Contact',
              id: 16
            },
            realName: {
              type: 'string',
              id: 17
            },
            studentId: {
              type: 'int64',
              id: 18
            },
            notes: {
              rule: 'repeated',
              type: 'NoteInfo',
              id: 19
            },
            receiverAddress: {
              type: 'ReceiverAddress',
              id: 20
            },
            examRecords: {
              rule: 'repeated',
              type: 'ExamRecord',
              id: 21
            }
          }
        },
        Contact: {
          fields: {
            role: {
              type: 'string',
              id: 1
            },
            mobilephone: {
              type: 'string',
              id: 2
            }
          }
        },
        CourseClassInfo: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            },
            courseName: {
              type: 'string',
              id: 2
            },
            assistantId: {
              type: 'int64',
              id: 3
            },
            assistantName: {
              type: 'string',
              id: 4
            },
            classId: {
              type: 'int64',
              id: 5
            },
            className: {
              type: 'string',
              id: 6
            },
            modelId: {
              type: 'int64',
              id: 7
            },
            modelName: {
              type: 'string',
              id: 8
            }
          }
        },
        NoteInfo: {
          fields: {
            type: {
              type: 'uint32',
              id: 1
            },
            operator: {
              type: 'string',
              id: 2
            },
            saveTime: {
              type: 'string',
              id: 3
            },
            text: {
              type: 'string',
              id: 4
            }
          }
        },
        ExamRecord: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            },
            examPaperName: {
              type: 'string',
              id: 2
            },
            submitTime: {
              type: 'string',
              id: 3
            },
            score: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgChangeUserRoleToParentReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            studentMobilePhone: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgChangeUserRoleToParentRsp: {
          fields: {}
        },
        CMsgConvertParentToStudentReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgConvertParentToStudentRsp: {
          fields: {}
        },
        CMsgImportCourseClassReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            studentId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgImportCourseClassRsp: {
          fields: {}
        },
        CMsgGetMonitorLessonInfoReq: {
          fields: {}
        },
        CMsgGetMonitorLessonInfoRsp: {
          fields: {
            bigClassChannel: {
              type: 'string',
              id: 1
            },
            assistantName: {
              type: 'string',
              id: 2
            },
            courses: {
              rule: 'repeated',
              type: 'MonitorCourseInfo',
              id: 3
            },
            leftTime: {
              type: 'uint32',
              id: 4
            },
            classInfos: {
              rule: 'repeated',
              type: 'MonitorClassInfo',
              id: 5
            },
            classNum: {
              type: 'uint32',
              id: 6
            },
            onlineStudentNum: {
              type: 'uint32',
              id: 7
            },
            attendRate: {
              type: 'uint32',
              id: 8
            },
            userMessageInfos: {
              rule: 'repeated',
              type: 'UserMessageInfo',
              id: 9
            },
            assistantHeadUrl: {
              type: 'string',
              id: 10
            },
            userTotalNum: {
              type: 'uint32',
              id: 11
            },
            userAttendNum: {
              type: 'uint32',
              id: 12
            }
          }
        },
        UserMessageInfo: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            userName: {
              type: 'string',
              id: 2
            },
            userHeadUrl: {
              type: 'string',
              id: 3
            },
            lessonId: {
              type: 'int64',
              id: 4
            },
            className: {
              type: 'string',
              id: 5
            },
            lastMessageTime: {
              type: 'string',
              id: 6
            },
            hasNotReadMsg: {
              type: 'bool',
              id: 7
            },
            lastMessage: {
              type: 'Message',
              id: 8
            }
          }
        },
        MonitorCourseInfo: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            courseType: {
              type: 'uint32',
              id: 3
            },
            courseSystem: {
              type: 'uint32',
              id: 4
            },
            studentNum: {
              type: 'uint32',
              id: 5
            }
          }
        },
        MonitorClassInfo: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            lessonName: {
              type: 'string',
              id: 2
            },
            lessonResourceId: {
              type: 'uint32',
              id: 3
            },
            channel: {
              type: 'string',
              id: 4
            },
            users: {
              rule: 'repeated',
              type: 'MonitorUserInfo',
              id: 5
            },
            lessonStatus: {
              type: 'uint32',
              id: 6
            },
            lessonStartTime: {
              type: 'string',
              id: 7
            },
            className: {
              type: 'string',
              id: 8
            },
            maxTalkDuration: {
              type: 'uint32',
              id: 9
            },
            lessonLeftTime: {
              type: 'uint32',
              id: 10
            },
            courseId: {
              type: 'uint32',
              id: 11
            }
          }
        },
        MonitorUserInfo: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            userRole: {
              type: 'uint32',
              id: 2
            },
            goldCoinNum: {
              type: 'uint32',
              id: 3
            },
            userNickName: {
              type: 'string',
              id: 4
            },
            eventNum: {
              type: 'uint32',
              id: 5
            },
            isOnline: {
              type: 'bool',
              id: 6
            },
            isAppActive: {
              type: 'bool',
              id: 7
            },
            hasOnline: {
              type: 'bool',
              id: 8
            }
          }
        },
        CMsgGetMonitorRoomInfoReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetMonitorRoomInfoRsp: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            lessonName: {
              type: 'string',
              id: 2
            },
            lessonResourceId: {
              type: 'uint32',
              id: 3
            },
            channel: {
              type: 'string',
              id: 4
            },
            users: {
              rule: 'repeated',
              type: 'MonitorUserInfo',
              id: 5
            },
            lessonStatus: {
              type: 'uint32',
              id: 6
            },
            currentMonitorRoundInfo: {
              rule: 'repeated',
              type: 'CurrentMonitorRoundInfo',
              id: 7
            },
            lessonStartTime: {
              type: 'string',
              id: 8
            },
            className: {
              type: 'string',
              id: 9
            },
            maxTalkDuration: {
              type: 'uint32',
              id: 10
            },
            lessonLeftTime: {
              type: 'uint32',
              id: 11
            },
            courseType: {
              type: 'uint32',
              id: 12
            },
            courseSystem: {
              type: 'uint32',
              id: 13
            },
            problemRecords: {
              rule: 'repeated',
              type: 'ProblemRecord',
              id: 14
            }
          }
        },
        ProblemRecord: {
          fields: {
            problemNum: {
              type: 'uint32',
              id: 1
            },
            userProblemRecords: {
              rule: 'repeated',
              type: 'UserProblemRecord',
              id: 2
            },
            problemType: {
              type: 'uint32',
              id: 3
            },
            hasAnswer: {
              type: 'bool',
              id: 4
            }
          }
        },
        UserProblemRecord: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            userName: {
              type: 'string',
              id: 2
            },
            isBlank: {
              type: 'bool',
              id: 3
            },
            correct: {
              type: 'bool',
              id: 4
            }
          }
        },
        CMsgGetUserEventReq: {
          fields: {
            studentId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgGetUserEventRsp: {
          fields: {
            events: {
              rule: 'repeated',
              type: 'UserLessonEvent',
              id: 1
            }
          }
        },
        UserLessonEvent: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            time: {
              type: 'string',
              id: 2
            },
            type: {
              type: 'uint32',
              id: 3
            },
            isHandled: {
              type: 'bool',
              id: 4
            }
          }
        },
        CMsgAssistantHandleEventReq: {
          fields: {
            eventId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgAssistantHandleEventRsp: {
          fields: {}
        },
        CMsgUserEventReportReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            type: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgUserEventReportRsp: {
          fields: {}
        },
        CMsgSaveUserNoteReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            noteType: {
              type: 'uint32',
              id: 2
            },
            noteText: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgSaveUserNoteRsp: {
          fields: {}
        },
        CMsgGetAllTeacherListReq: {
          fields: {
            nickname: {
              type: 'string',
              id: 1
            },
            pageNum: {
              type: 'uint32',
              id: 2
            },
            perPageNum: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgGetAllTeacherListRsp: {
          fields: {
            teachers: {
              rule: 'repeated',
              type: 'TeacherInfo',
              id: 1
            },
            totalNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        TeacherInfo: {
          fields: {
            teacherId: {
              type: 'int64',
              id: 1
            },
            teacherName: {
              type: 'string',
              id: 2
            },
            teacherRole: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgSaveTeacherReq: {
          fields: {
            teacherId: {
              type: 'int64',
              id: 1
            },
            email: {
              type: 'string',
              id: 2
            },
            nickname: {
              type: 'string',
              id: 3
            },
            role: {
              type: 'uint32',
              id: 4
            },
            wechatUrl: {
              type: 'string',
              id: 5
            },
            headUrl: {
              type: 'string',
              id: 6
            },
            qRCodeUrl: {
              type: 'string',
              id: 7
            }
          }
        },
        CMsgSaveTeacherRsp: {
          fields: {}
        },
        CMsgGetTeacherInfoReq: {
          fields: {
            teacherId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetTeacherInfoRsp: {
          fields: {
            email: {
              type: 'string',
              id: 1
            },
            nickname: {
              type: 'string',
              id: 2
            },
            role: {
              type: 'uint32',
              id: 3
            },
            wechatUrl: {
              type: 'string',
              id: 4
            },
            headUrl: {
              type: 'string',
              id: 5
            },
            qRCodeUrl: {
              type: 'string',
              id: 6
            }
          }
        },
        CMsgDeleteTeacherReq: {
          fields: {
            teacherId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgDeleteTeacherRsp: {
          fields: {}
        },
        CMsgSaveLessonResourceReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            lessonResourceName: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgSaveLessonResourceRsp: {
          fields: {}
        },
        CMsgChangeLessonStartTimeReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            startTime: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgChangeLessonStartTimeRsp: {
          fields: {}
        },
        CMsgSubmitReplayInstantReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            },
            instantAnswerId: {
              type: 'int64',
              id: 2
            },
            answer: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgSubmitReplayInstantRsp: {
          fields: {
            isCorrect: {
              type: 'bool',
              id: 1
            }
          }
        },
        CMsgMPGetLessonTimeOptionsReq: {
          fields: {
            examId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgMPGetLessonTimeOptionsRsp: {
          fields: {
            models: {
              rule: 'repeated',
              type: 'IDNameInt64',
              id: 1
            },
            awardContent: {
              type: 'uint32',
              id: 2
            },
            gradeId: {
              type: 'uint32',
              id: 3
            },
            subjectId: {
              type: 'uint32',
              id: 4
            },
            isSelect: {
              type: 'bool',
              id: 5
            },
            selectedModel: {
              type: 'IDNameInt64',
              id: 6
            }
          }
        },
        CMsgMPGetLessonTimeOptionsV1Req: {
          fields: {
            examIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgMPGetLessonTimeOptionsV1Rsp: {
          fields: {
            multiModels: {
              rule: 'repeated',
              type: 'MultiTimetableModel',
              id: 1
            },
            gradeId: {
              type: 'uint32',
              id: 2
            },
            subjects: {
              rule: 'repeated',
              type: 'SubjectInfo',
              id: 3
            },
            selectedModel: {
              rule: 'repeated',
              type: 'IDNameInt64',
              id: 4
            }
          }
        },
        MultiTimetableModel: {
          fields: {
            simpleModels: {
              rule: 'repeated',
              type: 'SimpleTimetableModelV1',
              id: 1
            }
          }
        },
        SimpleTimetableModelV1: {
          fields: {
            modelId: {
              type: 'int64',
              id: 1
            },
            modelName: {
              type: 'string',
              id: 2
            },
            subjectId: {
              type: 'uint32',
              id: 3
            },
            subjectName: {
              type: 'string',
              id: 4
            },
            startTime: {
              type: 'string',
              id: 5
            }
          }
        },
        SubjectInfo: {
          fields: {
            subjectId: {
              type: 'uint32',
              id: 1
            },
            subjectName: {
              type: 'string',
              id: 2
            },
            lessonNum: {
              type: 'uint32',
              id: 3
            },
            awardContent: {
              type: 'uint32',
              id: 4
            }
          }
        },
        CMsgMPGetDrawCourseDonePageReq: {
          fields: {}
        },
        CMsgMPGetDrawCourseDonePageRsp: {
          fields: {
            drawCourseDonePage: {
              type: 'DrawCourseDonePage',
              id: 1
            }
          }
        },
        CMsgStudentReExamReq: {
          fields: {
            studentId: {
              type: 'int64',
              id: 1
            },
            examId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgStudentReExamRsp: {
          fields: {}
        },
        CMsgCopyLessonResourceReq: {
          fields: {
            copyLessonResourceId: {
              type: 'uint32',
              id: 1
            },
            targetLessonResourceId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgCopyLessonResourceRsp: {
          fields: {}
        },
        CMsgGetFrontLogOSSPathReq: {
          fields: {}
        },
        CMsgGetFrontLogOSSPathRsp: {
          fields: {
            ossUrl: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGetFrontLogSTSTokenReq: {
          fields: {}
        },
        CMsgGetFrontLogSTSTokenRsp: {
          fields: {
            ossPath: {
              type: 'string',
              id: 1
            },
            ossSTS: {
              type: 'OssSTS',
              id: 2
            }
          }
        },
        CMsgGetRoundListCacheInfoReq: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetRoundListCacheInfoRsp: {
          fields: {
            videos: {
              rule: 'repeated',
              type: 'VideoCacheInfo',
              id: 1
            },
            resourceStatus: {
              type: 'uint32',
              id: 2
            }
          }
        },
        VideoCacheInfo: {
          fields: {
            videoId: {
              type: 'uint32',
              id: 1
            },
            videoName: {
              type: 'string',
              id: 2
            },
            originVideoDownloadURL: {
              type: 'string',
              id: 3
            },
            originVideoSize: {
              type: 'uint32',
              id: 4
            },
            teacherVideoDownloadURL: {
              type: 'string',
              id: 5
            },
            teacherVideoSize: {
              type: 'uint32',
              id: 6
            },
            contentVideoDownloadURL: {
              type: 'string',
              id: 7
            },
            contentVideoSize: {
              type: 'uint32',
              id: 8
            }
          }
        },
        CMsgUserGetLessonResourceIDsReq: {
          fields: {}
        },
        CMsgUserGetLessonResourceIDsRsp: {
          fields: {
            lessonResourceIds: {
              rule: 'repeated',
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgNewCourseRecordReq: {
          fields: {
            name: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgNewCourseRecordRsp: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgSaveCourseRecordReq: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            pictureNames: {
              rule: 'repeated',
              type: 'string',
              id: 3
            }
          }
        },
        CMsgSaveCourseRecordRsp: {
          fields: {}
        },
        CMsgGetCourseRecordListReq: {
          fields: {
            pageNum: {
              type: 'uint32',
              id: 1
            },
            perPageNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetCourseRecordListRsp: {
          fields: {
            courseRecordInfoList: {
              rule: 'repeated',
              type: 'CourseRecordSimpleInfo',
              id: 1
            }
          }
        },
        CourseRecordSimpleInfo: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            pictureNum: {
              type: 'uint32',
              id: 3
            },
            createTime: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgGetCourseRecordInfoReq: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetCourseRecordInfoRsp: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            pictureNames: {
              rule: 'repeated',
              type: 'string',
              id: 3
            },
            ossSTS: {
              type: 'OssSTS',
              id: 4
            },
            pictureOssDir: {
              type: 'string',
              id: 5
            },
            pictureUrlDomain: {
              type: 'string',
              id: 6
            }
          }
        },
        CMsgDeleteCourseRecordReq: {
          fields: {
            id: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteCourseRecordRsp: {
          fields: {}
        },
        CMsgGetActivityListReq: {
          fields: {
            pageNum: {
              type: 'uint32',
              id: 1
            },
            perPageNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetActivityListRsp: {
          fields: {
            activities: {
              rule: 'repeated',
              type: 'ActivityInfo',
              id: 1
            },
            totalNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        ActivityInfo: {
          fields: {
            activityId: {
              type: 'uint32',
              id: 1
            },
            activityName: {
              type: 'string',
              id: 2
            },
            activityBeginTime: {
              type: 'string',
              id: 3
            },
            activityEndTime: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgAddActivityReq: {
          fields: {
            activityName: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgAddActivityRsp: {
          fields: {
            activityId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetActivityInfoReq: {
          fields: {
            activityId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetActivityInfoRsp: {
          fields: {
            activityType: {
              type: 'uint32',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            price: {
              type: 'uint32',
              id: 3
            },
            cutPrice: {
              type: 'uint32',
              id: 4
            },
            skus: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 5
            },
            beginTime: {
              type: 'string',
              id: 6
            },
            endTime: {
              type: 'string',
              id: 7
            }
          }
        },
        CMsgSaveActivityInfoReq: {
          fields: {
            activityId: {
              type: 'uint32',
              id: 1
            },
            activityType: {
              type: 'uint32',
              id: 2
            },
            name: {
              type: 'string',
              id: 3
            },
            price: {
              type: 'uint32',
              id: 4
            },
            cutPrice: {
              type: 'uint32',
              id: 5
            },
            skus: {
              rule: 'repeated',
              type: 'uint32',
              id: 6
            },
            beginTime: {
              type: 'string',
              id: 7
            },
            endTime: {
              type: 'string',
              id: 8
            }
          }
        },
        CMsgSaveActivityInfoRsp: {
          fields: {}
        },
        CMsgDeleteActivityReq: {
          fields: {
            activityId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgDeleteActivityRsp: {
          fields: {}
        },
        CMsgGetActivityQRCodeReq: {
          fields: {
            activityId: {
              type: 'uint32',
              id: 1
            },
            commodityId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetActivityQRCodeRsp: {
          fields: {
            imageBase64: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgNewClientConfigReq: {
          fields: {
            key: {
              type: 'string',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            configs: {
              rule: 'repeated',
              type: 'string',
              id: 3
            },
            toAll: {
              type: 'bool',
              id: 4
            }
          }
        },
        CMsgNewClientConfigRsp: {
          fields: {}
        },
        CMsgSaveClientConfigReq: {
          fields: {
            key: {
              type: 'string',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            configs: {
              rule: 'repeated',
              type: 'string',
              id: 3
            },
            toAll: {
              type: 'bool',
              id: 4
            }
          }
        },
        CMsgSaveClientConfigRsp: {
          fields: {}
        },
        CMsgGetClientConfigListReq: {
          fields: {
            pageNum: {
              type: 'uint32',
              id: 1
            },
            perPageNum: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgGetClientConfigListRsp: {
          fields: {
            infos: {
              rule: 'repeated',
              type: 'ClientConfigSimpleInfo',
              id: 1
            }
          }
        },
        ClientConfigSimpleInfo: {
          fields: {
            key: {
              type: 'string',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            configs: {
              rule: 'repeated',
              type: 'string',
              id: 3
            },
            toAll: {
              type: 'bool',
              id: 4
            },
            status: {
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgGetClientConfigDetailReq: {
          fields: {
            key: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGetClientConfigDetailRsp: {
          fields: {
            key: {
              type: 'string',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            configs: {
              rule: 'repeated',
              type: 'string',
              id: 3
            },
            toAll: {
              type: 'bool',
              id: 4
            },
            status: {
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgOnlineClientConfigReq: {
          fields: {
            key: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgOnlineClientConfigRsp: {
          fields: {}
        },
        CMsgOfflineClientConfigReq: {
          fields: {
            key: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgOfflineClientConfigRsp: {
          fields: {}
        },
        CMsgDeleteClientConfigReq: {
          fields: {
            key: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgDeleteClientConfigRsp: {
          fields: {}
        },
        CMsgGetCourseCommoditiesReq: {
          fields: {}
        },
        CMsgGetCourseCommoditiesRsp: {
          fields: {
            commodities: {
              rule: 'repeated',
              type: 'IDNameUint32',
              id: 1
            }
          }
        },
        CMsgMPGetCommodityDetailV2Req: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            },
            activityId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgMPGetCommodityDetailV2Rsp: {
          fields: {
            hasCommodity: {
              type: 'bool',
              id: 1
            },
            hasActivity: {
              type: 'bool',
              id: 2
            },
            activityBeginTime: {
              type: 'string',
              id: 3
            },
            activityEndTime: {
              type: 'string',
              id: 4
            },
            commodityStatus: {
              type: 'uint32',
              id: 5
            },
            commodityType: {
              type: 'uint32',
              id: 6
            },
            commodityName: {
              type: 'string',
              id: 7
            },
            gradeId: {
              type: 'uint32',
              id: 8
            },
            soldNum: {
              type: 'uint32',
              id: 9
            },
            headImage: {
              type: 'string',
              id: 10
            },
            showImages: {
              rule: 'repeated',
              type: 'string',
              id: 11
            },
            shareImage: {
              type: 'string',
              id: 12
            },
            startTime: {
              type: 'string',
              id: 13
            },
            stopTime: {
              type: 'string',
              id: 14
            },
            duration: {
              type: 'uint32',
              id: 15
            },
            showPrice: {
              type: 'uint32',
              id: 16
            },
            activityPrice: {
              type: 'uint32',
              id: 17
            },
            depositExpireTime: {
              type: 'string',
              id: 18
            },
            activityDuration: {
              type: 'uint32',
              id: 19
            },
            activityBegin: {
              type: 'bool',
              id: 20
            },
            activityEnd: {
              type: 'bool',
              id: 21
            }
          }
        },
        CMsgMPGetCommodityDetailReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            },
            activityId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgMPGetCommodityDetailRsp: {
          fields: {
            hasCommodity: {
              type: 'bool',
              id: 1
            },
            hasBought: {
              type: 'bool',
              id: 2
            },
            hasActivity: {
              type: 'bool',
              id: 3
            },
            activityBeginTime: {
              type: 'string',
              id: 4
            },
            activityEndTime: {
              type: 'string',
              id: 5
            },
            commodityStatus: {
              type: 'uint32',
              id: 6
            },
            commodityType: {
              type: 'uint32',
              id: 7
            },
            commodityName: {
              type: 'string',
              id: 8
            },
            gradeId: {
              type: 'uint32',
              id: 9
            },
            soldNum: {
              type: 'uint32',
              id: 10
            },
            headImage: {
              type: 'string',
              id: 11
            },
            showImages: {
              rule: 'repeated',
              type: 'string',
              id: 12
            },
            shareImage: {
              type: 'string',
              id: 13
            },
            startTime: {
              type: 'string',
              id: 14
            },
            stopTime: {
              type: 'string',
              id: 15
            },
            duration: {
              type: 'uint32',
              id: 16
            },
            showPrice: {
              type: 'uint32',
              id: 17
            },
            activityPrice: {
              type: 'uint32',
              id: 18
            },
            depositId: {
              type: 'uint32',
              id: 19
            },
            depositPrice: {
              type: 'uint32',
              id: 20
            },
            depositExpireTime: {
              type: 'string',
              id: 21
            },
            activityDuration: {
              type: 'uint32',
              id: 22
            },
            activityBegin: {
              type: 'bool',
              id: 23
            },
            activityEnd: {
              type: 'bool',
              id: 24
            }
          }
        },
        CMsgMPGetPreCourseOrderReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            },
            activityId: {
              type: 'uint32',
              id: 2
            },
            depositId: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgMPGetPreCourseOrderRsp: {
          fields: {
            hasPackage: {
              type: 'bool',
              id: 1
            },
            commodityName: {
              type: 'string',
              id: 2
            },
            showPrice: {
              type: 'uint32',
              id: 3
            },
            activityPrice: {
              type: 'uint32',
              id: 4
            },
            depositPrice: {
              type: 'uint32',
              id: 5
            }
          }
        },
        CMsgMPGetPreDepositOrderReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            },
            activityId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgMPGetPreDepositOrderRsp: {
          fields: {
            commodityName: {
              type: 'string',
              id: 1
            },
            showPrice: {
              type: 'uint32',
              id: 2
            },
            activityPrice: {
              type: 'uint32',
              id: 3
            }
          }
        },
        CMsgMPCreateCourseOrderReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            },
            activityId: {
              type: 'uint32',
              id: 2
            },
            depositId: {
              type: 'uint32',
              id: 3
            },
            payAmount: {
              type: 'uint32',
              id: 4
            },
            receiverAddress: {
              type: 'ReceiverAddress',
              id: 5
            },
            openid: {
              type: 'string',
              id: 6
            }
          }
        },
        CMsgMPCreateCourseOrderRsp: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            },
            wxJSAPIOrder: {
              type: 'WXJSAPIOrder',
              id: 2
            }
          }
        },
        CMsgMPCreateDepositOrderReq: {
          fields: {
            commodityId: {
              type: 'uint32',
              id: 1
            },
            activityId: {
              type: 'uint32',
              id: 2
            },
            payAmount: {
              type: 'uint32',
              id: 3
            },
            openid: {
              type: 'string',
              id: 4
            }
          }
        },
        CMsgMPCreateDepositOrderRsp: {
          fields: {
            orderId: {
              type: 'int64',
              id: 1
            },
            wxJSAPIOrder: {
              type: 'WXJSAPIOrder',
              id: 2
            }
          }
        },
        CMsgUserCloseCourseReq: {
          fields: {
            userId: {
              type: 'int64',
              id: 1
            },
            courseId: {
              type: 'uint32',
              id: 2
            },
            classId: {
              type: 'int64',
              id: 3
            }
          }
        },
        CMsgUserCloseCourseRsp: {
          fields: {}
        },
        CMsgMPGetUserInfoReq: {
          fields: {
            code: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgMPGetUserInfoRsp: {
          fields: {
            openid: {
              type: 'string',
              id: 1
            }
          }
        },
        CMsgGetTimetableModelListReq: {
          fields: {}
        },
        CMsgGetTimetableModelListRsp: {
          fields: {
            models: {
              rule: 'repeated',
              type: 'SimpleTimetableModel',
              id: 1
            }
          }
        },
        SimpleTimetableModel: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            courseName: {
              type: 'string',
              id: 2
            },
            modelName: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgAddTimetableModelReq: {
          fields: {
            name: {
              type: 'string',
              id: 1
            },
            courseId: {
              type: 'uint32',
              id: 2
            }
          }
        },
        CMsgAddTimetableModelRsp: {
          fields: {
            modelId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgDeleteTimetableModelReq: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgDeleteTimetableModelRsp: {
          fields: {}
        },
        CMsgGetTimetableModelDetailReq: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgGetTimetableModelDetailRsp: {
          fields: {
            name: {
              type: 'string',
              id: 1
            },
            courseId: {
              type: 'uint32',
              id: 2
            },
            courseName: {
              type: 'string',
              id: 3
            },
            lessonResourceTimes: {
              rule: 'repeated',
              type: 'LessonResourceTime',
              id: 4
            }
          }
        },
        LessonResourceTime: {
          fields: {
            lessonResourceId: {
              type: 'uint32',
              id: 1
            },
            lessonResourceName: {
              type: 'string',
              id: 2
            },
            lessonTime: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgSaveTimetableModelDetailReq: {
          fields: {
            id: {
              type: 'int64',
              id: 1
            },
            name: {
              type: 'string',
              id: 2
            },
            courseId: {
              type: 'uint32',
              id: 3
            },
            lessonResourceTimes: {
              rule: 'repeated',
              type: 'LessonResourceTime',
              id: 4
            }
          }
        },
        CMsgSaveTimetableModelDetailRsp: {
          fields: {}
        },
        CMsgClassOffReq: {
          fields: {
            classId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgClassOffRsp: {
          fields: {}
        },
        CMsgGetAudioPreUploadInfoReq: {
          fields: {
            audioType: {
              type: 'uint32',
              id: 1
            },
            audioName: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgGetAudioPreUploadInfoRsp: {
          fields: {
            ossPath: {
              type: 'string',
              id: 1
            },
            ossSTS: {
              type: 'OssSTS',
              id: 2
            },
            audioUrl: {
              type: 'string',
              id: 3
            }
          }
        },
        CMsgGetCourseTimetableModelReq: {
          fields: {
            courseId: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetCourseTimetableModelRsp: {
          fields: {
            models: {
              rule: 'repeated',
              type: 'SimpleTimetableModel',
              id: 1
            }
          }
        },
        CMsgLessonSignReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgLessonSignRsp: {
          fields: {
            goldCoinChangeNum: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgShowFaceReq: {
          fields: {
            lessonId: {
              type: 'int64',
              id: 1
            }
          }
        },
        CMsgShowFaceRsp: {
          fields: {
            goldCoinChangeNum: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgGetMessageListReq: {
          fields: {
            friendId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgGetMessageListRsp: {
          fields: {
            messages: {
              rule: 'repeated',
              type: 'Message',
              id: 1
            },
            friendHeadUrl: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgGetReplayMessageListReq: {
          fields: {
            friendId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgGetReplayMessageListRsp: {
          fields: {
            messages: {
              rule: 'repeated',
              type: 'Message',
              id: 1
            },
            friendHeadUrl: {
              type: 'string',
              id: 2
            }
          }
        },
        Message: {
          fields: {
            messageId: {
              type: 'int64',
              id: 1
            },
            senderId: {
              type: 'int64',
              id: 2
            },
            receiverId: {
              type: 'int64',
              id: 3
            },
            type: {
              type: 'uint32',
              id: 4
            },
            textMessage: {
              type: 'TextMessage',
              id: 5
            },
            audioMessage: {
              type: 'AudioMessage',
              id: 6
            },
            lessonEventMessage: {
              type: 'LessonEventMessage',
              id: 7
            },
            withdraw: {
              type: 'bool',
              id: 8
            },
            isRead: {
              type: 'bool',
              id: 9
            },
            sendTime: {
              type: 'string',
              id: 10
            }
          }
        },
        TextMessage: {
          fields: {
            text: {
              type: 'string',
              id: 1
            }
          }
        },
        AudioMessage: {
          fields: {
            audioUrl: {
              type: 'string',
              id: 1
            },
            duration: {
              type: 'uint32',
              id: 2
            }
          }
        },
        LessonEventMessage: {
          fields: {
            eventType: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgReadMessageReq: {
          fields: {
            messageId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgReadMessageRsp: {
          fields: {}
        },
        CMsgSendMessageReq: {
          fields: {
            receiverId: {
              type: 'int64',
              id: 1
            },
            type: {
              type: 'uint32',
              id: 2
            },
            lessonId: {
              type: 'int64',
              id: 3
            },
            textMessage: {
              type: 'TextMessage',
              id: 4
            },
            audioMessage: {
              type: 'AudioMessage',
              id: 5
            },
            lessonEventMessage: {
              type: 'LessonEventMessage',
              id: 6
            }
          }
        },
        CMsgSendMessageRsp: {
          fields: {
            messageId: {
              type: 'int64',
              id: 1
            },
            sendTime: {
              type: 'string',
              id: 2
            }
          }
        },
        CMsgWithdrawMessageReq: {
          fields: {
            messageId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgWithdrawMessageRsp: {
          fields: {}
        },
        CMsgGetMessageRemindNumReq: {
          fields: {
            lastSeeMessageId: {
              type: 'int64',
              id: 1
            },
            friendId: {
              type: 'int64',
              id: 2
            },
            lessonId: {
              type: 'int64',
              id: 3
            }
          }
        },
        CMsgGetMessageRemindNumRsp: {
          fields: {
            remindNum: {
              type: 'uint32',
              id: 1
            }
          }
        },
        CMsgReadTextMessagesReq: {
          fields: {
            friendId: {
              type: 'int64',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgReadTextMessagesRsp: {
          fields: {}
        },
        CMsgGetPlatformStudentReq: {
          fields: {
            roundId: {
              type: 'uint32',
              id: 1
            },
            lessonId: {
              type: 'int64',
              id: 2
            }
          }
        },
        CMsgGetPlatformStudentRsp: {
          fields: {
            studentId: {
              type: 'int64',
              id: 1
            },
            studentName: {
              type: 'string',
              id: 2
            },
            teacherAudios: {
              rule: 'repeated',
              type: 'TeacherAudio',
              id: 3
            }
          }
        },
        EnumVideoType: {
          values: {
            EVTNone: 0,
            MainVideo: 1,
            ReadAndDoProblem: 2,
            GeneralAnswer: 3,
            RightAnswer: 4,
            WrongAnswer: 5,
            Video: 6,
            RollCall: 7
          }
        },
        EnumClassLessonStatus: {
          values: {
            ECSNone: 0,
            WaitingLesson: 1,
            BeingLesson: 2,
            FinishLesson: 3
          }
        },
        EnumExamStatus: {
          values: {
            EESNone: 0,
            NotStart: 1,
            CanStart: 2,
            NeedSelectModel: 3,
            FinishExam: 4
          }
        },
        EnumAudioType: {
          values: {
            EATNone: 0,
            AudioTypeProblem: 1,
            AudioTypeMessage: 2
          }
        },
        EnumMsg: {
          values: {
            EMsgNone: 0,
            LoginWithVerifyCodeReq: 1001,
            LoginWithVerifyCodeRsp: 1002,
            LogoutReq: 1003,
            LogoutRsp: 1004,
            LoginWithPasswdReq: 1005,
            LoginWithPasswdRsp: 1006,
            SetPasswdReq: 1007,
            SetPasswdRsp: 1008,
            GetVerifyCodeReq: 1009,
            GetVerifyCodeRsp: 1010,
            RefreshTokenReq: 1011,
            RefreshTokenRsp: 1012,
            LoginWithEmailReq: 1013,
            LoginWithEmailRsp: 1014,
            SendEmailVerifyCodeReq: 1015,
            SendEmailVerifyCodeRsp: 1016,
            GuestLoginReq: 1017,
            GuestLoginRsp: 1018,
            GuestBindMobilePhoneReq: 1019,
            GuestBindMobilePhoneRsp: 1020,
            GetAppConfigReq: 1021,
            GetAppConfigRsp: 1022,
            WxMiniProgramLoginReq: 1023,
            WxMiniProgramLoginRsp: 1024,
            MobileLoginReq: 1025,
            MobileLoginRsp: 1026,
            MPGetCommodityDetailV2Req: 1027,
            MPGetCommodityDetailV2Rsp: 1028,
            MPLoginWithVerifyCodeReq: 1029,
            MPLoginWithVerifyCodeRsp: 1030,
            MPLoginWithPasswdReq: 1031,
            MPLoginWithPasswdRsp: 1032,
            MPGetUserInfoReq: 1033,
            MPGetUserInfoRsp: 1034,
            WxMiniProgramLoginV2Req: 1035,
            WxMiniProgramLoginV2Rsp: 1036,
            WxH5LoginReq: 1037,
            WxH5LoginRsp: 1038,
            H5GetWechatConfigReq: 1039,
            H5GetWechatConfigRsp: 1040,
            SetAppConfigReq: 1041,
            SetAppConfigRsp: 1042,
            ReportArrivedPushMsgReq: 9001,
            ReportArrivedPushMsgRsp: 9002,
            CreateRoomReq: 10001,
            CreateRoomRsp: 10002,
            JoinRoomReq: 10003,
            JoinRoomRsp: 10004,
            LeaveRoomReq: 10005,
            LeaveRoomRsp: 10006,
            SyncMouseLocationReq: 10007,
            SyncMouseLocationRsp: 10008,
            GetRoomInfoReq: 10009,
            GetRoomInfoRsp: 10010,
            LessonFinishReq: 10011,
            LessonFinishRsp: 10012,
            SubmitAnswerReq: 10013,
            SubmitAnswerRsp: 10014,
            GetProblemReq: 10015,
            GetProblemRsp: 10016,
            GetUserInfoReq: 10017,
            GetUserInfoRsp: 10018,
            DiscussFinishReq: 10019,
            DiscussFinishRsp: 10020,
            DiscussStartReq: 10021,
            DiscussStartRsp: 10022,
            UserEnterNextRoundReq: 10023,
            UserEnterNextRoundRsp: 10024,
            UserProblemRoundProgressChangeReq: 10025,
            UserProblemRoundProgressChangeRsp: 10026,
            SubmitReplayAnswerReq: 10027,
            SubmitReplayAnswerRsp: 10028,
            GetReplayProblemReq: 10029,
            GetReplayProblemRsp: 10030,
            LessonAssistStartTalkToAllReq: 10031,
            LessonAssistStartTalkToAllRsp: 10032,
            LessonAssistStopTalkToAllReq: 10033,
            LessonAssistStopTalkToAllRsp: 10034,
            UserGetRoundListReq: 10035,
            UserGetRoundListRsp: 10036,
            UploadUserInstantAnswerReq: 10037,
            UploadUserInstantAnswerRsp: 10038,
            MonitorLessonReq: 10039,
            MonitorLessonRsp: 10040,
            AssistantLeaveReq: 10041,
            AssistantLeaveRsp: 10042,
            AssistantStartTalkToStudentReq: 10043,
            AssistantStartTalkToStudentRsp: 10044,
            AssistantStopTalkToStudentReq: 10045,
            AssistantStopTalkToStudentRsp: 10046,
            AssistantStartBroadcastReq: 10047,
            AssistantStartBroadcastRsp: 10048,
            AssistantStopBroadcastReq: 10049,
            AssistantStopBroadcastRsp: 10050,
            SubmitReplayInstantReq: 10051,
            SubmitReplayInstantRsp: 10052,
            GetRoundListCacheInfoReq: 10053,
            GetRoundListCacheInfoRsp: 10054,
            LessonSignReq: 10055,
            LessonSignRsp: 10056,
            ShowFaceReq: 10057,
            ShowFaceRsp: 10058,
            GetMessageListReq: 10059,
            GetMessageListRsp: 10060,
            GetReplayMessageListReq: 10061,
            GetReplayMessageListRsp: 10062,
            ReadMessageReq: 10063,
            ReadMessageRsp: 10064,
            SendMessageReq: 10065,
            SendMessageRsp: 10066,
            WithdrawMessageReq: 10067,
            WithdrawMessageRsp: 10068,
            GetMessageRemindNumReq: 10069,
            GetMessageRemindNumRsp: 10070,
            ReadTextMessagesReq: 10071,
            ReadTextMessagesRsp: 10072,
            GetPlatformStudentReq: 10073,
            GetPlatformStudentRsp: 10074,
            ModifyNickNameReq: 11001,
            ModifyNickNameRsp: 11002,
            UploadHeadPortraitReq: 11003,
            UploadHeadPortraitRsp: 11004,
            ModifyProfileReq: 11005,
            ModifyProfileRsp: 11006,
            GetSelfCenterReq: 11007,
            GetSelfCenterRsp: 11008,
            GetUserAddressReq: 11009,
            GetUserAddressRsp: 11010,
            SaveUserAddressReq: 11011,
            SaveUserAddressRsp: 11012,
            GetOutchainInfoReq: 11013,
            GetOutchainInfoRsp: 11014,
            GetClientConfigReq: 11015,
            GetClientConfigRsp: 11016,
            GetStudentOfParentReq: 11017,
            GetStudentOfParentRsp: 11018,
            GetRoundListReq: 20001,
            GetRoundListRsp: 20002,
            AddInteractRoundReq: 20003,
            AddInteractRoundRsp: 20004,
            AddDiscussRoundReq: 20005,
            AddDiscussRoundRsp: 20006,
            SaveInteractRoundReq: 20007,
            SaveInteractRoundRsp: 20008,
            SaveDiscussRoundReq: 20009,
            SaveDiscussRoundRsp: 20010,
            GetInteractRoundReq: 20011,
            GetInteractRoundRsp: 20012,
            GetDiscussRoundReq: 20013,
            GetDiscussRoundRsp: 20014,
            UploadedVideoReq: 20015,
            UploadedVideoRsp: 20016,
            DeleteRoundReq: 20017,
            DeleteRoundRsp: 20018,
            SaveMainVideoReq: 20019,
            SaveMainVideoRsp: 20020,
            SaveInteractVideoReq: 20021,
            SaveInteractVideoRsp: 20022,
            GetRoundVideoInfoReq: 20023,
            GetRoundVideoInfoRsp: 20024,
            PreGetVideoUploadInfoReq: 20025,
            PreGetVideoUploadInfoRsp: 20026,
            GetLessonsReq: 20027,
            GetLessonsRsp: 20028,
            GetAgoraTokenReq: 20029,
            GetAgoraTokenRsp: 20030,
            SaveNextRoundIDReq: 20031,
            SaveNextRoundIDRsp: 20032,
            AddVideoRoundReq: 20033,
            AddVideoRoundRsp: 20034,
            ModifyOrderReq: 20035,
            ModifyOrderRsp: 20036,
            SaveVideoRoundReq: 20037,
            SaveVideoRoundRsp: 20038,
            SaveVideoRoundInfoReq: 20039,
            SaveVideoRoundInfoRsp: 20040,
            GetLessonResourceListReq: 20041,
            GetLessonResourceListRsp: 20042,
            OnlineLessonResourceReq: 20043,
            OnlineLessonResourceRsp: 20044,
            OfflineLessonResourceReq: 20045,
            OfflineLessonResourceRsp: 20046,
            AddLessonResourceReq: 20047,
            AddLessonResourceRsp: 20048,
            DeleteLessonResourceReq: 20049,
            DeleteLessonResourceRsp: 20050,
            GetAllClassListReq: 20051,
            GetAllClassListRsp: 20052,
            AddClassReq: 20053,
            AddClassRsp: 20054,
            DeleteClassReq: 20055,
            DeleteClassRsp: 20056,
            GetClassInfoReq: 20057,
            GetClassInfoRsp: 20058,
            SaveClassInfoReq: 20059,
            SaveClassInfoRsp: 20060,
            GetStudentListReq: 20061,
            GetStudentListRsp: 20062,
            GetStudentInfoReq: 20063,
            GetStudentInfoRsp: 20064,
            SaveUserInfoReq: 20065,
            SaveUserInfoRsp: 20066,
            GetCourseListReq: 20067,
            GetCourseListRsp: 20068,
            GetClassListByCourseReq: 20069,
            GetClassListByCourseRsp: 20070,
            GetTeacherListReq: 20071,
            GetTeacherListRsp: 20072,
            ReorderLessonResourceReq: 20073,
            ReorderLessonResourceRsp: 20074,
            AddCourseReq: 20075,
            AddCourseRsp: 20076,
            GetCourseInfoReq: 20077,
            GetCourseInfoRsp: 20078,
            SaveCourseReq: 20079,
            SaveCourseRsp: 20080,
            DeleteCourseReq: 20081,
            DeleteCourseRsp: 20082,
            OnlineCourseReq: 20083,
            OnlineCourseRsp: 20084,
            OfflineCourseReq: 20085,
            OfflineCourseRsp: 20086,
            GetPackageListReq: 20087,
            GetPackageListRsp: 20088,
            AddPackageReq: 20089,
            AddPackageRsp: 20090,
            GetPackageInfoReq: 20091,
            GetPackageInfoRsp: 20092,
            SavePackageReq: 20093,
            SavePackageRsp: 20094,
            DeletePackageReq: 20095,
            DeletePackageRsp: 20096,
            OnlinePackageReq: 20097,
            OnlinePackageRsp: 20098,
            OfflinePackageReq: 20099,
            OfflinePackageRsp: 20100,
            GetTagListReq: 20101,
            GetTagListRsp: 20102,
            GetImagePreUploadInfoReq: 20103,
            GetImagePreUploadInfoRsp: 20104,
            GetAssistantListReq: 20105,
            GetAssistantListRsp: 20106,
            GetDistrictInfoReq: 20107,
            GetDistrictInfoRsp: 20108,
            UploadedWelcomeVideoReq: 20109,
            UploadedWelcomeVideoRsp: 20110,
            UserOpenCourseReq: 20111,
            UserOpenCourseRsp: 20112,
            GetClassListByCourseNameReq: 20113,
            GetClassListByCourseNameRsp: 20114,
            GetLessonEndPageReq: 20115,
            GetLessonEndPageRsp: 20116,
            GetRoundListOnReviewReq: 20117,
            GetRoundListOnReviewRsp: 20118,
            AddInstantAnswerReq: 20119,
            AddInstantAnswerRsp: 20120,
            GetInstantAnswerReq: 20121,
            GetInstantAnswerRsp: 20122,
            SaveInstantAnswerReq: 20123,
            SaveInstantAnswerRsp: 20124,
            DeleteInstantAnswerReq: 20125,
            DeleteInstantAnswerRsp: 20126,
            GetAgentListReq: 20127,
            GetAgentListRsp: 20128,
            SaveAgentReq: 20129,
            SaveAgentRsp: 20130,
            GetAgentSchoolPlansReq: 20131,
            GetAgentSchoolPlansRsp: 20132,
            SaveAgentSchoolPlanReq: 20133,
            SaveAgentSchoolPlanRsp: 20134,
            SaveSchoolClassReq: 20135,
            SaveSchoolClassRsp: 20136,
            DeleteSchoolClassReq: 20137,
            DeleteSchoolClassRsp: 20138,
            GetAgentSchoolPlanInfoReq: 20139,
            GetAgentSchoolPlanInfoRsp: 20140,
            GetSchoolSelectListReq: 20141,
            GetSchoolSelectListRsp: 20142,
            GetSchoolClassSelectListReq: 20143,
            GetSchoolClassSelectListRsp: 20144,
            GetExamPaperListReq: 20145,
            GetExamPaperListRsp: 20146,
            SaveExamPaperReq: 20147,
            SaveExamPaperRsp: 20148,
            SearchProblemReq: 20149,
            SearchProblemRsp: 20150,
            GetProblemInfoReq: 20151,
            GetProblemInfoRsp: 20152,
            SaveProblemInfoReq: 20153,
            SaveProblemInfoRsp: 20154,
            OnlineExamPaperReq: 20155,
            OnlineExamPaperRsp: 20156,
            OfflineExamPaperReq: 20157,
            OfflineExamPaperRsp: 20158,
            GetSchoolListReq: 20159,
            GetSchoolListRsp: 20160,
            GetSchoolInfoReq: 20161,
            GetSchoolInfoRsp: 20162,
            DivideUserClassReq: 20163,
            DivideUserClassRsp: 20164,
            SaveSchoolInfoReq: 20165,
            SaveSchoolInfoRsp: 20166,
            GetExamPaperReq: 20167,
            GetExamPaperRsp: 20168,
            MPSiftSchoolListReq: 20169,
            MPSiftSchoolListRsp: 20170,
            MPSiftSchoolClassListReq: 20171,
            MPSiftSchoolClassListRsp: 20172,
            MPSubmitUserFormReq: 20173,
            MPSubmitUserFormRsp: 20174,
            MPLocateDistrictAddressReq: 20175,
            MPLocateDistrictAddressRsp: 20176,
            CheckVerifyCodeReq: 20177,
            CheckVerifyCodeRsp: 20178,
            MPGetMobilePhoneUserInfoReq: 20179,
            MPGetMobilePhoneUserInfoRsp: 20180,
            MPGetExamProblemsReq: 20181,
            MPGetExamProblemsRsp: 20182,
            MPGetExamProblemReq: 20183,
            MPGetExamProblemRsp: 20184,
            MPSubmitExamAnswerReq: 20185,
            MPSubmitExamAnswerRsp: 20186,
            MPGetExamResultReq: 20187,
            MPGetExamResultRsp: 20188,
            GetExamPaperSelectListReq: 20189,
            GetExamPaperSelectListRsp: 20190,
            MPGetWechatConfigReq: 20191,
            MPGetWechatConfigRsp: 20192,
            MPGetEnterSchoolExamReq: 20193,
            MPGetEnterSchoolExamRsp: 20194,
            MPGetDrawCourseStatusReq: 20195,
            MPGetDrawCourseStatusRsp: 20196,
            GetAgentQRCodeReq: 20197,
            GetAgentQRCodeRsp: 20198,
            InteractRoundAddProblemReq: 20199,
            InteractRoundAddProblemRsp: 20200,
            DeleteSchoolReq: 20201,
            DeleteSchoolRsp: 20202,
            MPGetExamProblemRecordReq: 20203,
            MPGetExamProblemRecordRsp: 20204,
            GetSchoolClassNameListReq: 20205,
            GetSchoolClassNameListRsp: 20206,
            GetOutchainListReq: 20207,
            GetOutchainListRsp: 20208,
            SaveOutchainInfoReq: 20209,
            SaveOutchainInfoRsp: 20210,
            DeleteOutchainReq: 20211,
            DeleteOutchainRsp: 20212,
            OnlineOutchainReq: 20213,
            OnlineOutchainRsp: 20214,
            OfflineOutchainReq: 20215,
            OfflineOutchainRsp: 20216,
            UploadOutchainVideoDoneReq: 20217,
            UploadOutchainVideoDoneRsp: 20218,
            GetUserDetailReq: 20219,
            GetUserDetailRsp: 20220,
            ChangeUserRoleToParentReq: 20221,
            ChangeUserRoleToParentRsp: 20222,
            ImportCourseClassReq: 20223,
            ImportCourseClassRsp: 20224,
            MPGetLessonTimeReq: 20225,
            MPGetLessonTimeRsp: 20226,
            MPSelectLessonTimeReq: 20227,
            MPSelectLessonTimeRsp: 20228,
            MPGetSchoolGradeReq: 20229,
            MPGetSchoolGradeRsp: 20230,
            GetMonitorLessonInfoReq: 20231,
            GetMonitorLessonInfoRsp: 20232,
            GetMonitorRoomInfoReq: 20233,
            GetMonitorRoomInfoRsp: 20234,
            GetUserEventReq: 20235,
            GetUserEventRsp: 20236,
            AssistantHandleEventReq: 20237,
            AssistantHandleEventRsp: 20238,
            UserEventReportReq: 20239,
            UserEventReportRsp: 20240,
            SaveUserNoteReq: 20241,
            SaveUserNoteRsp: 20242,
            GetAllTeacherListReq: 20243,
            GetAllTeacherListRsp: 20244,
            SaveTeacherReq: 20245,
            SaveTeacherRsp: 20246,
            GetTeacherInfoReq: 20247,
            GetTeacherInfoRsp: 20248,
            DeleteTeacherReq: 20249,
            DeleteTeacherRsp: 20250,
            SaveLessonResourceReq: 20251,
            SaveLessonResourceRsp: 20252,
            ChangeLessonStartTimeReq: 20253,
            ChangeLessonStartTimeRsp: 20254,
            MPGetLessonTimeOptionsReq: 20255,
            MPGetLessonTimeOptionsRsp: 20256,
            StudentReExamReq: 20257,
            StudentReExamRsp: 20258,
            CopyLessonResourceReq: 20259,
            CopyLessonResourceRsp: 20260,
            GetFrontLogSTSTokenReq: 20261,
            GetFrontLogSTSTokenRsp: 20262,
            GetFrontLogOSSPathReq: 20263,
            GetFrontLogOSSPathRsp: 20264,
            UserGetLessonResourceIDsReq: 20265,
            UserGetLessonResourceIDsRsp: 20266,
            NewCourseRecordReq: 20267,
            NewCourseRecordRsp: 20268,
            SaveCourseRecordReq: 20269,
            SaveCourseRecordRsp: 20270,
            GetCourseRecordListReq: 20271,
            GetCourseRecordListRsp: 20272,
            GetCourseRecordInfoReq: 20273,
            GetCourseRecordInfoRsp: 20274,
            DeleteCourseRecordReq: 20275,
            DeleteCourseRecordRsp: 20276,
            GetActivityListReq: 20277,
            GetActivityListRsp: 20278,
            AddActivityReq: 20279,
            AddActivityRsp: 20280,
            GetActivityInfoReq: 20281,
            GetActivityInfoRsp: 20282,
            SaveActivityInfoReq: 20283,
            SaveActivityInfoRsp: 20284,
            DeleteActivityReq: 20285,
            DeleteActivityRsp: 20286,
            GetActivityQRCodeReq: 20287,
            GetActivityQRCodeRsp: 20288,
            NewClientConfigReq: 20289,
            NewClientConfigRsp: 20290,
            SaveClientConfigReq: 20291,
            SaveClientConfigRsp: 20292,
            GetClientConfigListReq: 20293,
            GetClientConfigListRsp: 20294,
            UserCloseCourseReq: 20295,
            UserCloseCourseRsp: 20296,
            GetClientConfigDetailReq: 20297,
            GetClientConfigDetailRsp: 20298,
            OnlineClientConfigReq: 20299,
            OnlineClientConfigRsp: 20300,
            OfflineClientConfigReq: 20301,
            OfflineClientConfigRsp: 20302,
            DeleteClientConfigReq: 20303,
            DeleteClientConfigRsp: 20304,
            GetTimetableModelListReq: 20305,
            GetTimetableModelListRsp: 20306,
            AddTimetableModelReq: 20307,
            AddTimetableModelRsp: 20308,
            DeleteTimetableModelReq: 20309,
            DeleteTimetableModelRsp: 20310,
            GetTimetableModelDetailReq: 20311,
            GetTimetableModelDetailRsp: 20312,
            SaveTimetableModelDetailReq: 20313,
            SaveTimetableModelDetailRsp: 20314,
            ClassOffReq: 20315,
            ClassOffRsp: 20316,
            GetAudioPreUploadInfoReq: 20317,
            GetAudioPreUploadInfoRsp: 20318,
            GetCourseTimetableModelReq: 20319,
            GetCourseTimetableModelRsp: 20320,
            GetMPHomeReq: 20321,
            GetMPHomeRsp: 20322,
            AddRollCallRoundReq: 20323,
            AddRollCallRoundRsp: 20324,
            GetRollCallRoundReq: 20325,
            GetRollCallRoundRsp: 20326,
            SaveRollCallRoundReq: 20327,
            SaveRollCallRoundRsp: 20328,
            MPGetLessonTimeOptionsV1Req: 20329,
            MPGetLessonTimeOptionsV1Rsp: 20330,
            ConvertParentToStudentReq: 20331,
            ConvertParentToStudentRsp: 20332,
            MPGetDrawCourseDonePageReq: 20333,
            MPGetDrawCourseDonePageRsp: 20334,
            FinishProblem: 21001,
            FinishDiscuss: 21002,
            StartDiscuss: 21003,
            UserLeaveRoom: 21004,
            LessonStart: 21005,
            UserJoinRoom: 21006,
            LessonAssistStartTalk: 21007,
            LessonAssistStopTalk: 21008,
            AssistantStartTalkToStudent: 21009,
            AssistantStopTalkToStudent: 21010,
            MonitorEvent: 21011,
            FinishInstant: 21012,
            LessonClose: 21013,
            NewMessage: 21014,
            WithdrawMessage: 21015,
            ReadMessage: 21016,
            LessonSign: 21017,
            ShowFace: 21018,
            TeacherLessonAudio: 21019,
            LessonPrepare: 21020,
            IAPBuyYutouCoinReq: 22001,
            IAPBuyYutouCoinRsp: 22002,
            GetIAPBuyYutouCoinPayResultReq: 22003,
            GetIAPBuyYutouCoinPayResultRsp: 22004,
            GetIAPCommodityListReq: 22005,
            GetIAPCommodityListRsp: 22006,
            GetYutouCoinHistoryReq: 22007,
            GetYutouCoinHistoryRsp: 22008,
            BuyCommodityReq: 22009,
            BuyCommodityRsp: 22010,
            CheckBuyCommodityResultReq: 22011,
            CheckBuyCommodityResultRsp: 22012,
            GetUserCoursePageReq: 22013,
            GetUserCoursePageRsp: 22014,
            GetOrderListReq: 22015,
            GetOrderListRsp: 22016,
            GetOrderInfoReq: 22017,
            GetOrderInfoRsp: 22018,
            MPCreateCourseOrderReq: 22019,
            MPCreateCourseOrderRsp: 22020,
            MPCreateDepositOrderReq: 22021,
            MPCreateDepositOrderRsp: 22022,
            GetCourseOrderDetailReq: 22023,
            GetCourseOrderDetailRsp: 22024,
            GetDepositOrderDetailReq: 22025,
            GetDepositOrderDetailRsp: 22026,
            GetCommodityDetailReq: 23001,
            GetCommodityDetailRsp: 23002,
            GetCommodityCountReq: 23003,
            GetCommodityCountRsp: 23004,
            GetUserScheduleReq: 23005,
            GetUserScheduleRsp: 23006,
            GetDiscoveryPageReq: 23007,
            GetDiscoveryPageRsp: 23008,
            GetCommodityListReq: 23009,
            GetCommodityListRsp: 23010,
            AddCommodityReq: 23011,
            AddCommodityRsp: 23012,
            GetCourseCommodityInfoReq: 23013,
            GetCourseCommodityInfoRsp: 23014,
            SaveCourseCommodityReq: 23015,
            SaveCourseCommodityRsp: 23016,
            DeleteCommodityReq: 23017,
            DeleteCommodityRsp: 23018,
            OnlineCommodityReq: 23019,
            OnlineCommodityRsp: 23020,
            OfflineCommodityReq: 23021,
            OfflineCommodityRsp: 23022,
            GetCourseCommoditiesReq: 23023,
            GetCourseCommoditiesRsp: 23024,
            GetDepositCommodityInfoReq: 23025,
            GetDepositCommodityInfoRsp: 23026,
            SaveDepositCommodityReq: 23027,
            SaveDepositCommodityRsp: 23028,
            MPGetCommodityDetailReq: 23029,
            MPGetCommodityDetailRsp: 23030,
            MPGetPreCourseOrderReq: 23031,
            MPGetPreCourseOrderRsp: 23032,
            MPGetPreDepositOrderReq: 23033,
            MPGetPreDepositOrderRsp: 23034
          }
        },
        EnumLessonStatus: {
          values: {
            ELSNone: 0,
            Waiting: 1,
            BeingOn: 2,
            Finished: 3
          }
        },
        EnumUploadImageType: {
          values: {
            EUITNone: 0,
            HeadPortrait: 1,
            CommodityDetail: 2,
            CourseWelcome: 3
          }
        },
        EnumRewardType: {
          values: {
            ERTNone: 0,
            Lecture: 1,
            SyncCourse: 2,
            ZhongkaoCourse: 3
          }
        },
        EnumProblemType: {
          values: {
            EPTNone: 0,
            Interact: 1,
            Instant: 2
          }
        },
        ErrCode: {
          values: {
            ErrOk: 0,
            ErrUnknown: 101,
            ErrArgsInvalid: 102,
            ErrArgsEmpty: 103,
            ErrSystem: 104,
            ErrDB: 105,
            ErrNoServe: 106,
            ErrVerifyCodeOverTime: 115,
            ErrVerifyCodeNotMatch: 116,
            ErrFrameBegin: 1000,
            ErrUnmarshalReqFailed: 1001,
            ErrMarshalRspFailed: 1002,
            ErrUnknownReq: 1003,
            ErrUserEntityNotFound: 1004,
            ErrUnknowReqMsgId: 1005,
            ErrLogicBegin: 10000,
            ErrCannotModifyLesson: 10001,
            ErrClassIsFull: 10002,
            ErrCanNotOfflineCourse: 10003,
            ErrCanNotAddOrDeleteLessonResource: 10004,
            ErrTagNotExist: 10005,
            ErrCanNotOnline: 10006,
            ErrBeginTimeTooEarly: 10007,
            ErrLessonResourceNumZero: 10008,
            ErrRoundInfoMiss: 10009,
            ErrRepeatedDivideUserClass: 10010,
            ErrProblemAnswerCannotNil: 10011,
            ErrOutchainAlreadyDeleted: 10012,
            ErrOutchainAlreadyOffline: 10013,
            ErrOutchainVideoNotAvailable: 10014,
            ErrMobilePhoneNotExist: 10015,
            ErrSchoolClassNoAssistant: 10016,
            ErrSaveTeacherRoleInvalid: 10017,
            ErrTeacherNotExist: 10018,
            ErrLessonCannotChangeStartTime: 10019,
            ErrUserNotFinishExam: 10020,
            ErrCanNotReorderLessonResource: 10021,
            ErrAccountNotExist: 10022,
            ErrClassCanNotDelete: 10023,
            ErrCanNotChangeUserGrade: 10024,
            ErrTeacherWechatURLDomainInvalid: 10025,
            ErrUserNotDrawCourse: 10026,
            ErrExamGradeSubjectRepeat: 10027,
            ErrCommodityIsNotOnline: 10028,
            ErrCommodityActivityNotStart: 10029,
            ErrCommodityActivityHasStopped: 10030,
            ErrDepositCommodityNotExist: 10031,
            ErrDepositHasExpired: 10032,
            ErrPayAmountNotMatch: 10033,
            ErrUserAddressNotComplete: 10034,
            ErrActivityPriceNotEqualToSKU: 10035,
            ErrModelLessonTimeEarly: 10036,
            ErrNormalClassModelNotNull: 10037,
            ErrUserNoMobliePhone: 10038,
            ErrRoomNotAvailable: 10039,
            ErrAssistantNotHaveQRCode: 10040,
            ErrInnerClassHasNotFinishLesson: 10041,
            ErrRollCallRoundInstantAnswerNum: 10042,
            ErrRollCallRoundVideoDurationShort: 10043,
            ErrCourseModelNotMatch: 10044,
            ErrExamPaperUpdated: 10045,
            ErrOnlyOpenForTestOrInnerPerson: 10046,
            ErrStudentInClass: 10047,
            ErrStudentNotHaveSchoolClass: 10048,
            ErrModelNotModify: 10049
          }
        }
      }
    }
  }
};
